1.语句分隔符
在python中,一行语句使用一行,下一行代码换行写
如果想要写在同一行中,可使用;隔开命令
python语法中规定不允许在语句前有空格
2.注释
2.1.使用# 注释:可以使# 后面的内容都被注释掉。为单行注释
使用""" """:使用3引号可以多行注释
3.Pep8规范
以下代码就不符合pep8的规范
可以使用ctrl alt l 可以帮助你使用正确的格式
4.变量
在python中,变量是一个标识符,用于引用存储在计算机内存中的数据。每个变量都有一个名称和一个关联的值,可以将值存储在变量中并在程序中多次使用。
4.1.变量名:
用于表示变量的字符串,变量名由字母、数字和下划线组成,必须以字母或下划线开头,不能以数字开头。
4.2.变量赋值:
可以使用等号(=)将一个值赋给一个变量,在变量赋值时,Python会自动为变量选择适当的数据类型。
以下是例子:第一个print中,1和2会在内存中生成一个临时数据并且占用一小部分空间,而且计算出来的3也会占用一小部分空间,在终端显示过后,就会被释放,然后再执行第二个语句,进行相同的操作。
上面的方法过于浪费内存空间,以下是更优化的方法:
4.3.变量值的修改
与c语言的不同之处为
c:x->10,然后将x->的内容修改为20。
python :先创建10,然后用x->10,再创建20,而x修改指向,改为->20,并且释放10。
4.4.变量命名规则
5.基本数据类型
5.1.整型和浮点型
type()括号里面可以加任何数据,可以显示出当前数据的类型,但是需要用print打印,负责无值
以下为type结合print使用:
5.2.布尔类型
在python中bool是一个隐操作
整形bool值为false的是:0
字符串bool值为false的是:""
列表bool值为false的是:[ ]
字典bool值为false的是:{ }
其余都为true
5.3.字符串类型
第一种方法:就是正常的双引号。
第二种方法:用两个单引号,与第一种相同。
第三种方法:用三引号表示多行字符串,实际如果不给三引号赋值一个变量的话就是一个注释,但是它并不是含义上的注释,只是在内存中出现后,并没有赋值然后释放了,如果赋值了变量那么就是一个字符串。
5.3.1字符串基本操作
5.3.1.1.转义符:
(1)将某些普通符号给予特殊的功能
由下例可见n只是一个普通的字母,但是加上了\ 后变成了换行符。
下列是一些常见的字符串转义符
(2)讲一些特殊功能的符号普通化
在特殊字符\n 的前面再加上一个\时,那么\后面的内容都是普通字符,没有特殊功能。
单引号为字符串的格式与双引号相同,但是当我需要使用单引号作为内容输出时,python解释器无法识别你所需要的要求,一个单引号与另一个单引号匹配,那么多出一个单引号没有人匹配时,就会出现报错
修改:在第二个单引号的前面加上\ 使单引号变成一个普通字符,而第一个单引号与第三个单引号进行匹配就不会报错。
5.3.2.字符串的格式化输出
第一种方法:
在输出里面加上%s、%d、%d。后面的格式则为%(),里面放与前面相对应的变量
第二种方法:
在第一个双引号前加上一个f,表示后面需要格式化输出,然后再上一个%s的地方直接加上{}和你里面需要输出的变量名即可
5.3.3.字符串序列操作
四种使用方法:
第一种:索引操作 字符串[索引号] 查询单个字符
python不仅支持正索引,同样也支持负索引。只需记住最后一位为-1,就可以快速得到最后一位
第二种:切片操作
修改步长
合理利用缺省
第三种:拼接
使用 + 进行拼接
使用 * 进行拼接
第四种:计算字符串长度
len()
第五种:in判断
用于判断某个成员是否存在
只要有就是true,不能从肉眼看到是否完全一致来判断,和单词无关,但是必须连续。
5.3.3.字符串的内置方法
一个数据类型的内置方法:数据类型对象 . 方法名(参数)
5.3.3.1.upper
将字符的字母字符变成大写
5.3.3.2.lower
将字符的字母字符变成小写
5.3.3.3.startswith
判断字符串是否以什么内容为开头
5.3.3.4.endswith
判断字符串是否以什么内容为结尾
5.3.3.5.isdigit
判断这个字符串是否是一个纯数字字符串,如果不是则为flase
5.3.3.6.srtip
去除字符串两端的空格或换行符
当你需要用户输入名字时,而用户不小心多敲了几个空格,而空格也是字符,那么就被录入进去了,所以我们需要去除用户前后两端多余的空格。
使用strip
5.3.3.7.split
将字符串按照某种格式分割为一个列表,如果是空格那个在split中 " " 之中就要按照字符串的分割写。
错误示范:分割为 , 但是我在split中 " " 写的是空格,所以错误
正确方式:可以看出打印的长度为4
5.3.3.8.join
将一个列表以什么为分隔进行拼接,拼成一个新的字符串。或者什么分割都没有,那么就是将内容全部连在一起
5.3.3.9.find
in只能判断这个内容是否存在于这个字符串形成一个bool值,但是find可以更加具体的找到这个内容,并且返回它的起始索引的索引下标。
如果没有找到那么会返回一个 -1,与index不同
5.3.3.10.index
与find功能相同,但是如果找不到会报错
5.3.3.11.count
用于统计子字符串出现过的次数
5.3.3.12.replace
将字符串的原来需要被替换内容,替换为新的内容。但是注意要将替换完的新字符串赋值给一个变量,否则原来老的变量里的内容还是老的。
你可以修改步长,当你只需要修改前面两个的内容时只需要将步长修改为2即可。
而如果你不修改步长,那么就会将所有的iwbf全部修改为帅哥。
5.4.字典类型:dict
{key1:value1,key2:value2}
st = {
"iwbf":[18,"shuaige",100000], //左边为key,右边为值
"wad":[90,"dwad",1000],
"alb":[30,"awd",851500],
}
特性:
1.key必须为不可变数据类型(字符串、数字)、必须唯一
st = {
['dwaw']:[18,"shuaige",100000], //当我存放一个列表作为key时就会报错
"wad":[90,"dwad",1000],
"alb":[30,"awd",851500],
}
st = {
"iwbf":[18,"shuaige",100000],
"iwbf":[20,"shuaige",555], //当我存放了两个iwbf时,不会报错,但是会覆盖上面的iwbf值
}
print(st["iwbf"]) //所以我打印的结果为:[20, 'shuaige', 555],所以必须唯一
2.可存放任意多个value、可修改、可以不唯一
3.key无序
4.查询速度快,且不受dict的大小影响
字典的操作:
5.4.1.增加操作
st = {
"iwbf": [18, "shuaige", 100000],
"op": [20, "shuaige", 555],
}
st['cf'] = [56, 5000] //在原字典中添加一个新的key和value值,注:如果你此时添加的key和原来的字典当中的key值相同时,那么你不会创建一个新的key,当你此时新的key和老的key的value值不同时,那么会修改老的key中的value值,而不是创建一个新的key。
print(st['cf'])
5.4.1.删除操作
st = {
"iwbf": [18, "shuaige", 100000],
"op": [20, "shuaige", 555],
"cf": [20, "shuaige", 555],
}
st.pop("iwbf") //删除指定key:iwbf
del st["op"] //删除指定key:op
st.clear() //清空字典
print(st) //打印结果为{}空
5.4.2.查找操作
st = {
"iwbf": [18, "shuaige", 100000],
"op": [20, "shuaige", 555],
"cf": [20, "shuaige", 555],
}
A = st["iwbf"] //直接查找key对应的值,若存在则返回key所对应的值,若不存在则会报错。
print(A) //打印结果:[18, 'shuaige', 100000]
B = st.get('DNF') //接查找key对应的值,若存在则返回key所对应的值,若不存在则会返回一个default值(default默认为None)。
print(B) //打印结果:None
C = 'IWBF' in st //判断key值是否存在,存在则返回true,没有则返回false
print(C) //打印结果:False
D = st.keys() //返回字典中所有的key的列表
print(D) //打印结果:dict_keys(['iwbf', 'op', 'cf'])
E = st.values() //返回字典中所有的value的列表
print(E) //打印结果:dict_values([[18, 'shuaige', 100000], [20, 'shuaige', 555], [20, 'shuaige', 555]])
F = st.items() //返回字典中所有的(key和vlaue)元组的列表
print(F) //打印结果:dict_items([('iwbf', [18, 'shuaige', 100000]), ('op', [20, 'shuaige', 555]), ('cf', [20, 'shuaige', 555])])
5.4.3.循环打印
三种方法
1.for i in st.keys(): //打印字典中的key
print(i)
打印结果:
iwbf
op
cf
2.for i, j in st.items(): //将字典当中的key和value循环赋值给i,j然后打印
print(i, j)
打印结果:
iwbf [18, 'shuaige', 100000]
op [20, 'shuaige', 555]
cf [20, 'shuaige', 555]
3.for i in st: //效率速度最快,直接将字典中的值赋值给i,但是打印的时候注意要打印i和st【i】。如果只打印i,那么只会打印key
print(i, st[i])
打印结果:
iwbf [18, 'shuaige', 100000]
op [20, 'shuaige', 555]
cf [20, 'shuaige', 555]
print(len(st)) //len()方法可以同时用于列表、字符串
6.输入输出方法
输入函数:input() 一个阻塞函数,接受到的是一个字符串,str
input函数内可以写字符,以便提示:
第二种方法:当你需要计算5+2时,发现打印出来的是52,原因是因为你这时候输入的5和2是字符,当5和2在打印时做的是拼接,而不是科学计数。
改:你需要将变量原来的字符串类型改为整型才可以进行科学计数。用强制类型转换
输出函数:print()
默认可以直接打印多个参数,用逗号隔开默认为空格,但是你也可以修改sep值,表示更改中间间隔的默认值,可以看出我修改的为逗号。
7.运算符
计算运算符,比较运算符,赋值运算符,逻辑运算符,成员运算符
7.1.计算运算符
7.2.比较运算符
返回值是一个bool值
7.3.赋值运算符
a+=2 等同于a= a+2
7.4.逻辑运算符
and or not
and
or 一个为真则后面不进行运算,直接为真
not 取反
7.5.成员运算符
in:上面有操作
快捷键:ctrl + D 可以复制一行内容
ctrl + / 可以将选择的内容全部注释
ctrl alt l 可以帮助你使用正确的格式
tab 选择你的代码按tab可以在前面增加空格