python基础1
由于个人是有一定python基础的,这里想再系统温故梳理一遍之前所学,所以这里整理到的都是一些容易遗忘掉的或者没注意到的一些知识点,对于那些各种编程语言都差不多的语法这里就不再多说,希望可以帮助大家扫清之前的漏洞,难免有整理错的地方敬请大家指正!
1. 变量命名规范
两种比较常用命名体系:
驼峰命名法:将每个单词自动连接,且单词首字母通常大写
大驼峰:指的是每个单词的首字母都大写,一般用于给类命名
示例:MyName,OnePerson,IntSystem
小驼峰:与大驼峰唯一的区别在于第一个单词的第一个字母小写,一般给普通变量和函数命名
示例:myName,onePerson,intSystem
posix写法:单词一律小写,多个单词用下划线连接,类与变量函数之间无区别
示例:my_name,one_person,int_system
在编写代码时书写规范有时比能力更重要,以上两种命名规范按照自己喜欢任选其一就行,最好不要两种混用,相对来说第二种更加简洁明了,毕竟不区分类与变量,且下划线隔开后读起来更加清晰。
2. 变量类型
2.1 数字 Number
整数 int(常用的就不介绍了)
二进制:只有0,1,当我们用print打印出来时会自动转化为十进制数字输出,以下都是
以0b开头的01串
示例:5=0b110, 8=0b1000
八进制:以0o开头,0-7的数字串,并不常用
示例:17=0o21
十六进制:以0x组成,由0-9,a-f组成的字符串
a-f分别代表10-15,逢16进1
示例:32=0x20
浮点数 float
科学计数法:e后面表示10的几次幂,同数学定义
示例:12000=1.2e4,0.0012=1.2e-3
复数 complex 不常用,这里给个示例,看到知道就行,定义同数学一样
示例:1+2j
布尔值:用来表示真假的值
只有两个值:True/False
可以当成数字使用,True=1,False=0
也可以反过来将数字当成布尔值,这里注意0=False,非0都当做True
2.2 字符串类型 str
单引号/双引号
三引号:可以表示多行字符串
example=""" 这是个示例 这是个示例 这是个示例 """ print(example) ''' 输出: 这是个示例 这是个示例 这是个示例 '''
转义字符:当字符串中需要表示一些特殊字符或者不方便的内容时,需要使用转义字符
借助反斜杠表示
Python 支持的转义字符 1
转义字符 说明
\n 换行符 ,将光标位置移到下一行开头
\r 回车符,将光标位置移到本行开头
\t 水平制表符,也即 Tab 键,一般相当于四个空格
\a 蜂鸣器响铃,注意不是喇叭发声,现在的计算机很多都不带蜂鸣器了,所以响铃不一定有效。
\b 退格(Backspace),将光标位置移到前一列
\\ 反斜线
\’ 单引号
\" 双引号
\ 在字符串行尾的续行符,即一行未完,转到下一行继续写
2.2.1 内置函数(常用)
字符串格式化
使用%进行格式化
#后面参数要按固定顺序,固定格式填入 print("你好,我叫%s,%d岁"%('李焕英',23)) ''' 输出: 你好,我叫李焕英,23岁 '''
format格式化:使用{}进行占位
#后面参数按顺序,但不限格式填入 print("你好,我叫{},{}岁".format('李焕英',23)) #在字符串中指定位置,0代表第一个参数,1代表第二个 print("你好,我叫{1},{0}岁".format(23,'李焕英')) #使用命名参数,参数没有顺序要求 print("你好,我叫{name},{age}岁".format(name='李焕英',age=23)) #上述方法可用字典直接输入,但要注意对字典用**进行解包操作 s_dict={'name':'李焕英','age':23} print("你好,我叫{name},{age}岁".format(**s_dict)) #按顺序,固定格式输入 print("你好,我叫{:s},{:d}岁".format('李焕英',23)) ''' 输出: 你好,我叫李焕英,23岁 你好,我叫李焕英,23岁 你好,我叫李焕英,23岁 你好,我叫李焕英,23岁 你好,我叫李焕英,23岁 '''
查找类函数
- .find()/.index()
- 返回第一次发现这个字符串的位置
- rfind,lfind:从右开始查找或者从左开始查找
- 通过提供位置参数可以指定从哪开始查找
- 返回 -1表示没找到
- .index()具有相同功能,唯一区别在于未找到会报异常
s='这是个示例' print(s.find('示例')) print(s.find('123')) ''' 输出: 3 -1 '''
.count()
统计指定字符出现次数并将次数返回
判断类函数
一般函数名都以is开头,基本都是英文字面意思,很好理解
例如:islower(是否小于)isalpha(是否是字母)
内容判断
startswith/endswith:是否以XXX开头或结尾
返回为True或者False
操作类函数
.strip()
删除字符串两边指定字符,如果不指定默认删除空格
lstrip,rstrip:从左边或者从右边删除
s='我我我叫111' print(s.strip('我')) print(s.strip('1')) ''' 输出: 叫111 我我我叫 '''
.join()
- 对字符串进行拼接,需要指定拼接之间用什么字符作分隔符
s1='-' s2=',' s3=' ' #注意这里是以列表形式输入 s=['2021','02','15'] print(s1.join(s)) print(s2.join(s)) print(s3.join(s)) ''' 2021-02-15 2021,02,15 2021 02 15 '''
字符串切片(这块我经常写错,这里总结下)
- 注意[ ]中遵循左闭右开,即冒号左边的索引所指到的数取到,而右边的数取不到
- -1指最后一位,同理-2即倒数第二位,以此类推
- 找到索引所指字符后,朝冒号方向取字符串
s='12345678' #未给出即全取 print(s[:]) #12345678 #这里找到索引3对应的字符‘4’,由于是在冒号左边,按照左闭右开的规则可以取到4, #然后朝冒号方向(冒号在数字右边),即朝右取字符取到底 print(s[3:]) #45678 print(s[3:5]) #45 print(s[:5]) #12345 print(s[-1:]) #8 #这里找到索引-1对应的字符‘8’,由于是在冒号右边,按照左闭右开的规则不可以取到8, #然后朝冒号方向(冒号在数字左边),即朝左取字符取到底 print(s[:-1]) #1234567
后续见下篇,不想写了玩游戏去了,大家有需要我整理的可以在评论区留言O(∩_∩)O哈哈~