My python day2
一、运算符
1.算数运算符
加+ 减- 乘* 除/ 整除// 幂** 余%
2.比较运算符
大于>、小于<、等于==、不等于!=
3.逻辑运算符
且and 或or 非!
4.赋值运算符
=
5.成员运算符
属于 in 、不属于 not in
二、基本数据类型
数字、字符串、布尔值、列表、字典、元祖
1.数字 int
将字符串转化为数字. 按照进制转化为int型
1 a = "123" 2 print(int(a)) 3 b = "01001" 4 print(int(b,base=2))
2.字符串
有序的,不可变类型
1 name = "Ezhizen" 2 t1 = name.count("z") #统计z的个数 3 # print(t) 4 t2 = name.capitalize() #首字母大写 5 # print(t2) 6 t3 = name.casefold() #转化为小写 7 # print(t3) 8 # name.center(20,fillchar="-") #长度为20并居中表示,其余用-填充 9 # print() 10 t4 = name.center(20) #长度为20并居中表示 11 # print(t4) 12 l="dddd\tggg" 13 t5 = l.expandtabs(3) #每三个字符分割,有转移字符,则\t补全3个 14 # print(t5) 15 t6 = name.find("z") #找出第一个z的位置索引,错误为-1 16 # print(t6) 17 info ="my name is {a},age is {b} " 18 info_= info.format(a=name,b=18) #格式化 19 # print(info_) 20 "my name is {0},age is {1} ".format(name,18) 21 "my name is {a},age is {b} ".format_map({"a":name,"b":18}) 22 t7 = name.isdigit() #判断是否由数字组成 特殊符号数字也可以 23 t8 = name.index("z") #找出第一个z的位置索引 24 # print(t8) 25 t9 = name.isalnum() #判断是否由数字、字母组成 26 t10 = name.isalpha() #判断是否由数字组成 27 t11 = name.isdecimal() #判断是否由数字组成 28 t12 = name.isidentifier() #判断是否符合定义 29 t13 = l.isprintable() #判断是否存在不可显示的字符 30 # print(l.isprintable()) 31 t14 = name.islower() #判断是否全是小写 32 t15 = name.isnumeric() #判断是否由数字组成 中文数字也可以 33 t16 = name.isspace() #判断是否全是空格 34 t17 = name.istitle() #判断是否为标题 35 # print(t17) 36 t18 = name.isupper() #判断是否为大写 37 t19 = "_".join(name) #用_将字符串连接起来 38 t20 = name.lower() #转化为小写 39 t21 = name.ljust(20,"#") #左对齐20 #并以#补全 40 # print(t21) 41 t22 = name.lstrip() #删除左边空格、换行、\t 也可以指定字符 42 name2 = "EZHIZEN" 43 m = str.maketrans(name,name2) #指定规则 44 "ecfaddchide".translate(m) #进行转化 45 t23 = name.partition("z") #按照第一个z分割 得到一个元祖 分成3部分 包含z 46 # print(t23) 47 48 t24 = name.replace("z","c") #将z替换成c 49 t25 = name.rfind("z") #从右边开始找出第一个z索引位置 没找到-1 50 t26 = name.rindex("z")#从右边开始找出第一个z索引位置 没找到报错 51 t27 = name.rjust(20,"#") #右对其 用#填充 52 t28 = name.rpartition("z") #按照右边第一个z分割 得到一个元祖 分成3部分 包含z 53 t29 = name.rsplit('z',1) #按照右边第一个z分割,得到一个列表,不包含z 54 t30 = name.rstrip() #删除右边的空格、换行 \t 也可以指定字符 55 t31 = name.split("z") #按照z分割,得到一个列表,不包含z 56 # print(t29) 57 # print(t31) 58 t32 = name.strip() #删除空格、换行 \t,也可以指定字符 59 t33 = name.startswith("E") #判断是否以E开头 60 t34 = name.splitlines() #按照\n分割 61 t35 = name.swapcase() #大小写转化 62 t36 = name.title() #转化为标题 63 # print(t36) 64 t37 = name.zfill(20) #右对其 ,用0填充 65 # print(t37 66 # ) 67 #索引 68 t38 = name[0] #索引位置为0 69 t39 = name[0:2] #索引位置0,1 70 t40 = name[0:-1] #0<= < len(name) 71 t41 = len(name) #计算长度 72 #字符串不可变 73 for i in name: 74 print(i) 75 for i in range(len(name)): 76 print(i,name[i])
3.列表
列表是有序的,可变类型
1 l = [1,2,"a","b"] 2 l.append(3) #添加一个元素 3 l.count(1) #统计个数 4 l.clear() #清空列表 5 l.copy() #浅copy 6 l.extend([1,2]) #添加多个元素 7 l.index(1) #找出索引位置 8 l.insert(0,"p") #添加一个值 9 v= l.pop(1) #随机删除,或着指定索引,并或取删除的值 10 # print(v) 11 12 # l.reverse() #逆向输出 13 # print(l) 14 l.remove(1) #删除对象 15 l.sort() #排序
for i in l: print(l) t=l[0] #位置索引 t=l[0:2] #切片 del l #删除 len(l) #计算长度
4.元组
元组是有序的,不可变类型
1 t = (1,2,9,"a") 2 t.index(1) #找出索引位置 3 t.count(1) #统计个数 4 t[0] #索引 5 t[0:2] #切片 6 for i in t: 7 print(i)
5.字典
无序的,可变类型
{"name":"Ezhizen","age":18} # info.copy() #浅copy # info.clear() #清空字典 d = dict.fromkeys([1,2,3],6) #创建一个字典,并且值为6 # print(d) i1 = info.get("name1") #根据key获得value 不存在是 得到none # print(i1) info.items() #获得字典中的值 info.keys() #获得字典中的键 # info.pop("name") #删除key 并获得对应的value,没找到就报错 # info.popitem() #随机删除一个键值对 info.setdefault("name","Echizen") #设置默认值,如果存在key则不设置,不存在则添加 # print(info) info.update({"hobby":"p"}) #更新,已经存在则覆盖,不存在则添加 # print(info) info.values() #
6.集合
1 s1 = {1,2,"a"} 2 s1.add(4) #添加一个元素 3 s1.clear() #清空 4 s1.copy() #浅copy 5 s1.discard(1) #删除元素 没找到不报错 6 s1.pop() #随机删除 7 s1.remove(1) #删除元素,未找到报错 8 s2 ={1,2,"d"} 9 s1.difference(s2) # - 相当于差集 10 s1.difference_update(s2) #差集 ,并赋给s1 11 s1.intersection(s2) #& 相当于交集 12 s1.intersection_update(s2) #交集 并赋给s1 13 s1.isdisjoint(s2) #判断s1与s2是否存在交集 14 s1.issubset(s2) #判断是s1是否是s2的子集 15 s1.issuperset(s2) #判断s1是否是s2的父集 16 s1.symmetric_difference(s2) #对称差集 17 s1.symmetric_difference_update(s2) #对称差集 并赋给s1 18 s1.update({d,2}) #更新添加 19 s1.union(s2) #s1与s2的并集
7.bool值
None [] "" 0 {} set() 为 False
8.字符串格式化
1 name="Ezhizen" 2 age =18 3 # # "i am %s,age is %d" %(name,age) 4 m = "i am %(name)s,age is %(age)d"%({"name":name,"age":age}) 5 print(m) 6 # tpl = "i am %(name)s age %(age)d" % {"name": "alex", "age": 18} 7 # print(tpl) 8 t = "my age is %.2f%%"%99.66 9 print(t) 10 m2="i am {},age{}".format(name,age) 11 print(m2) 12 m3="i am {0},age{1}".format(name,age) 13 print(m3) 14 m4="i am {name},age{age}".format(name=name,age=age) 15 print(m4) 16 m5="i am {name},age{age}".format(**{"name":name,"age":age}) 17 print(m5) 18 m6="i am {name:s},age{age:d}".format(name=name,age=age) 19 print(m6)