1.标识符
# -*- coding:utf-8 -*- # @Time :2021/1/16 10:28 # @Author :QAbujiaban # @Email :wbxztoo@163.com # @File :basic.py
1 # 单行注释 这是单行注释 2 '''多行注释''' 这是多行注释 3 """多行注释""" 这是多行注释
2.标识符
我们自己在写代码的时候取的名字,命名的符号
1 项目名 --->project name 2 包名 --->package name 3 模块名 ---> .py python文件名
2.1.规范
1 A.由字母/数字下划线组成,但是不能以数字开头 2 B.见名知意 3 C.不同的字母/数字之间用下划线隔开,提升可读性 4 D.不能用关键字
3.变量名
1 # 变量名 = 变量值 2 a=2 #右边的值赋值给左边的变量 3 print(a) #prin(你要输出的内容) 输入出函数:输出内容到控制台
4.数据类型
1 #整数型: 关键字 int 2 a=10 3 print(a+10) 4 5 #浮点型:关键字 float 6 b=10.0 7 8 #布尔型:关键字 bool True False 首写字母要大写 9 print(True) 10 11 #字符串: 关键字str 成对的单引号/双引号/三引号 12 c='hello' 13 d="hello" 14 e='''hello''' 15 f="""hello""" 16 17 #type(数据) 获取数据类型 int float str bool 18 print(type(d)) #输出<class 'str'>
4.1.字符串
#字符串里面的元素:单个字母,数字,汉字,单个符号都称为一个元素 #len(数据)统计数据的长度(print(lent(f))) #字符串取值:字符串名[索引值] #索引:从0开始标记
s = "hello"
h | e | l | l | o | 字符串 |
0 | 1 | 2 | 3 | 4 | 正序索引 |
-5 | -4 | -3 | -2 | -1 | 反序索引 |
print(s[0]) #输出为 h print(s[2]) #输出为 l print(s[-1])#输出为 o print(s[-4])#输出为 e
4.1.1.切片
1 #字符串取多个值:切片,字符串名[索引头:索引尾:尾长] 步长默认为1 2 f = "hello word!" 3 print(f[1:5:1])#取头不取尾 与print(f[1:5])一致 结果:ello 4 print(f[1:5:2])#结果:el 5 print(f[2:4:2])#结果:l 6 print(f[:])#全部打印 7 print(f[:4])#0123 8 print(f[3:0])#3以后全部打印 9 10 #练习:请利用切片,倒序输出s的值,输出结果为:!drow 11 print(f[-1:-7:-1]) #-1 -2 -3 -4 -5 -6 -7
4.1.2.字符串的分割 split()
1 # 字符串.split(指定的切割符号,切割次数),返回一个列表类型的数据, 2 # 列表里面的子元素都是字符串类型 3 # 指定的切割符被切走不保留 4 s = " hello!" 5 print(s.split()) #输出:[' hello'] 6 print(s.split("e")) #输出:[' h','llo!'] 7 print(s.split('l')) #输出:[' he','','ol'] 8 print(s.split("l",1)) #输出[' he','lo!'] 只切割一次
4.1.3.字符串的替换 replace()
1 # 字符串.replace(指定替换值,新值,替换次数) 2 s = " hello!" 3 f = s.replace('e','x') 4 print(f)#输出:"hxllo" 5 m = s.replace('l','x',2) 6 print(m)#输出:"hexxo!"
4.1.4.字符串的去除指定字符 strip()
1 #字符串.strip(指定字符) 2 #默认去掉两侧空格,只能去掉头和尾的指定字符 3 # 4 s = " hello!" 5 print(len(s))# 输出: 8 6 f = s.strip() 7 print(f) # 输出:hello 8 print(len(f))# 输出:6 去除两侧空格 9 m = s.strip("!") 10 print(m)# 输出:hello
4.1.5.字符串拼接 +
1 s_1 = "python11" 2 s_2 = "中秋节快乐" 3 s_3 = 666#整数 str(数字)----->强制转为str类型 4 print(s_1+s_2) #拼接两个字符串,输出:python11中秋节快乐 5 print(s_1,s_2) #分别输出两个变量 ,输出:python11 中秋节快乐 6 # print(s_1+s_2+s_3)#报错 ERROR 7 print(s_1,s_2,s_3)#输出:python11 中秋节快乐 666
4.1.6.字符串格式化输出 % format
1 #格式化输出1:format 特点{} 2 nm1 = "字符串1" 3 nm2 = 56.2 4 nm3 = 33 5 print("这是个{0}的{1},很{2}".format(nm1,nm2,nm3)) #输出:这是个字符串1的字符串2,很33 6 #格式化输出2:% %s字符串 %d数字 %f浮点数0 7 # %s--->%d--->%f 类型覆盖 8 print("这是个%s的%f,很%d"%(nm1,nm2,nm3)) #输出:这是个字符串1的56.200000,很33 9 print("这是个%s的%s,很%s"%(nm1,nm2,nm3)) #输出:这是个字符串1的56.2,很33 10 print("这是个%d的%d"%(nm2,nm3)) #输出:这是个字符串1的56.2,很33
4.2.列表list []
1 #可以存储空列表 x=[] 2 #列表里面可以包含任何类型的数据 y=[1,0.02,'hello',[1,2,3],True] 3 #列表里面的元素,根据逗号来进行分割 4 #列表里面的元素,也是有索引 索引值从0开始
4.2.1.获取列表中的单个值 列表[索引值]
#获取列表里面的单个值:列表[索引值] y=[1,0.02,'hello',[1,2,3],True] print(y[2]) #获取单个值 hello
4.2.2.列表的切片 列表名[索引头:索引尾:步长]
#列表的切片 同字符串的操作 列表名[索引头:索引尾:步长] y=[1,0.02,'hello',[1,2,3],True] print(y[0:5:2]) #0 2 4
4.2.3.列表增加 append()
#在列表末尾追加数据 append() #每次只能追加一个元素 y=[1,0.02,'hello',[1,2,3],True] y.append("新数据") #输出:[1, 0.02, 'hello', [1, 2, 3], True, '新数据'] print(y)
4.2.4.列表指定索引位置插入数据 insert()
y=[1,0.02,'hello',[1,2,3],True] y.insert(2,"新数据") #[1, 0.02, '新数据', 'hello', [1, 2, 3], True] print(y)
4.2.5.列表删除 pop(索引) 并返回删除的内容
1 #pop()不传值默认删除最后一个内容,并返回删除的内容 2 #pop(索引)传值后删除指定索引的内容,并返回删除的内容 3 y=[1,0.02,'hello',[1,2,3],True] 4 res = y.pop() #默认删除最后一个元素 5 print(res)#True 6 print(y) #[1, 0.02, 'hello', [1, 2, 3]] 7 y.pop(2)#删除指定索引的内容 8 print(y)#[1, 0.02, [1, 2, 3]]
4.2.6.列表删除 remove(元素)
#remove(内容) y=[1,0.02,'hello',[1,2,3],True] y.remove('hello')#输出:[1, 0.02, [1, 2, 3], True] print(y)
4.2.7.列表修改 a[索引] = 新值
#修改(赋值) y[索引] = 新值 y=[1,0.02,'hello',[1,2,3],True] y[1] = "测试" print(y) #[1, '测试', 'hello', [1, 2, 3], True]
4.3.元组tuple()
#可以存在空元组 a=() #元组中可以包含任何类型的数据 #元组里面的元素,根据逗号进行分割 #元组里面的元素,索引从0开始
4.3.1.获取元组中的单个值 元组[索引值]
a=(1,0.02,'hello',[1,2,3],True,(4,5,6)) print(a[2])#hello
4.3.2.元组的切片 元组名[索引头:索引尾:步长]
a=(1,0.02,'hello',[1,2,3],True,(4,5,6)) print(a[0:5:2])#(1, 'hello', True)
4.3.3.元组增/删/改
元组不支持增删改 (元组中的列表可以增删改)
4.4.字典dict{}
#可以存在空字典 a={} #字典存储数据方式 key:value #字典中的value可以包含任何类型的数据 #字典里面的元素,根据逗号进行分割
4.4.1.字典取值:字典[key]
a={"name":"张三","age":19,"sex":"女"} print(a["name"]) #张三
4.4.2.字典删除 pop(key)
#删除 a={"name":"张三","age":19,"sex":"女"} a.pop("age") print(a) #{'name': '张三', 'sex': '女'}
4.4.3.遍历字典
#获取所有的key
#字典中的函数 a={"name":"张三","age":19,"sex":"女"} #获取所有的key keys = a.keys()#获取所有的key 输出:dict_keys(['name', 'age', 'sex']) list_keys = list(keys)#将获取到的key转换为列表类型 print(list_keys)
#获取所有的value
a={"name":"张三","age":19,"sex":"女"} #获取所有的value values = a.values()#获取所有的value 输出:dict_values(['张三', 19, '女']) list_values = list(values)#将获取到的value转换为列表类型 print(list_values)
4.4.4.字典新增 a[新key]=value 新key必须是字典里不存在的key
#新增 a[新key]=value 新key必须是字典里不存在的key a={"name":"张三","age":19,"sex":"女"} a["nn"]="测试" print(a)#{'name': '张三', 'age': 19, 'sex': '女', 'nn': '测试'}
4.4.5.字典修改 a[已存在的key] = 新value 字典里面已存在的key
a={"name":"张三","age":19,"sex":"女"} a["name"]="测试" print(a)#{'name': '测试', 'age': 19, 'sex': '女'}
4.5.运算符五大类
4.5.1.算术运算符 + - * /
a=4 print(a%2) #输出:0
4.5.2.赋值运算符 = += -=
a=5 #将右侧值 赋值给左边的变量 print(a) #5 a -= 3 #a = a-1 print(a) #2 a += 3 #a = a+3 print(a) #5
4.5.3.比较运算符 > >= < <= !=
#比较运算符返回bool布尔类型 a = 2 b = 3 print(a>b)#False print(a>=b)#False print(a<b)#True print(a<=b)#True print(a!=b)#True print(a==b)#False
4.5.4.逻辑运算符 and or not
#逻辑运算符返回bool布尔类型 a = 2 b = 3 #and 左右两遍都为真返回True,只要有一个为False,返回False print(a>5 and b<6) #输出:False #or 左右两遍都为假返回False,只要有一个为True,返回True print(a>5 or b<6) #输出:True
4.5.5.成员运算符
c = "abc" d = "abcde" e = ['abc','bcd'] f = ('abc','cfd') g = {"aa":"abc","bb":"bcd"} #in 值是否被另一个值包含 print(c in d) #True print(c in e) #True print(c in f) #True print("bb" in g) #True 字典判断key #not in 值是否没有被另一个值包含 print(c not in d) #True