字符串 数字 列表 元组 字典 #############变量的分类 可变与不可变 1、可变:列表,字典 2、不可变:字符串、元组、数字 访问顺序: 1、顺序访问:字符串、列表、元组 有序 2、映射:字典 字典查询速度快 但是内存占得多 无序 3、直接访问:数字 ###################集合 1、无序、不同元素组成、集合中的元素必须位不可变型 2、表示 {} set 3、具有去重特性 s = set(‘hello‘) s {‘h‘,‘o‘,‘l‘,‘e‘} ##################方法 1、 add(self, *args, **kwargs): # real signature unknown 末位添加 Add an element to a set. This has no effect if the element is already present. 2、clear(self, *args, **kwargs): # real signature unknown 清空字符串 """ Remove all elements from this set. """ 3、copy(self, *args, **kwargs): # real signature unknown 赋值字符串 """ Return a shallow copy of a set. """ 4、 pop(self, *args, **kwargs): # real signature unknown 随机删除一个值 """ Remove and return an arbitrary set element. Raises KeyError if the set is empty. """ 5、remove(self, *args, **kwargs): # real signature unknown 直接删除指定值,不存在会报错 Remove an element from a set; it must be a member. If the element is not a member, raise a KeyError. 6、 discard(self, *args, **kwargs): # real signature unknown 指定删除,不存在不会报错 """ Remove an element from a set if it is a member. If the element is not a member, do nothing. """ pass 7、intersection(self, *args, **kwargs): # real signature unknown 求交集 也可以使用 & Return the intersection of two sets as a new set. p_s =set(python_name) l_s = set(linux_name) print(p_s.intersection(l_s)) print(p_s & l_s) 8、union(self, *args, **kwargs): # real signature unknown 求并集 也可以使用 | 只求一个结果,并不赋值 Return the union of sets as a new set. (i.e. all elements that are in either set.) 9、difference(self, *args, **kwargs): # real signature unknown 差集 返回左边的集合减去公共部分的集合 也可以使用符号 - Return the difference of two or more sets as a new set. (i.e. all elements that are in this set but not the others.) 10、symmetric_difference(self, *args, **kwargs): # real signature unknown 交叉补集 先取并集减去交集 可以用符号 ^ ‘‘‘Return the symmetric difference of two sets as a new set. (i.e. all elements that are in exactly one of the sets.) ‘‘‘ 11、difference_update(self, *args, **kwargs): # real signature unknown 作完差集直接赋值 """ Remove all elements of another set from this set. """ 12、isdisjoint(self, *args, **kwargs): # real signature unknown 如果两个集合没有交集返回 True """ Return True if two sets have a null intersection. """ 13、 issubset(self, *args, **kwargs): # real signature unknown print(s1.issubset(s2))判断s1是不是s2子集 """ Report whether another set contains this set. """ 14、issuperset(self, *args, **kwargs): # real signature unknown print(s1.issuperset(s2))判断s1是不是s2父集 """ Report whether this set contains another set. """ 15、update(self, *args, **kwargs): # real signature unknown 更新值 可以迭代就能传值 s1.update(s2) """ Update a set with the union of itself and others. """ #####################字符串格式化 常用格式化 1、msg = ‘i am %s hobby ‘ %‘zhouyang‘ msg = ‘i am %s hobby %s ‘ %(‘zhouyang‘,1) # %s 能添加任意值 %d 对应的为整型 打印浮点型 2、tpl = ‘percentage %.2f‘ %99.3424324 .2 小数点后保留两位 3、打印百分比 tpl = ‘percentage %.2f%%‘ %99.3424324 两个百分号 4、传个字典 tp1 = ‘i am %(name)s haha %(key)s‘ %{‘name‘:‘fsda‘,‘key‘:‘dsa‘} 5、左对齐 tp1 = ‘i am %(name)-60s haha %(key)s‘ %{‘name‘:‘fsda‘,‘key‘:‘dsa‘} print(tp1) >>>i am fsda haha dsa 6、加颜色 tp1 = ‘i am \033[45;1m %(name)-60s\033[Om haha %(key)s‘ %{‘name‘:‘fsda‘,‘key‘:‘dsa‘} \033[44;1m 开头 44代表颜色 \033[Om 结尾 format 的格式化 1、tp1 = ‘i am {},age{},{}‘.format(‘seven‘,‘234‘,‘erw‘) #无索引 一一对应 否则报错 2、tp1 = ‘i am {1},age{2},{0}‘.format(‘seven‘,‘234‘,‘erw‘) #按索引填充 3、tp1 = ‘i am {:s},age{:d},{:s}‘.format(‘seven‘,234,‘erw‘) 4、tpl = "i am {0}, age {1}, really {0}".format(*["seven", 18]) #* 表示传了个列表 5、tpl = "i am {name}, age {age}, really {name}".format(**{"name": "seven", "age": 18}) # ** 传个字典 6、tpl = "i am {name}, age {age}, really {name}".format(name="seven", age=18) 7、tp1 = "numbers: {num:b},{num:o},{num:d},{num:x},{num:X}, {num:%}".format(num=15) b:二进制 o:八进制 d:整型 x:十六进制 小写的 X: 十六进制 字母大写 % 保留小数默认六位 ############################函数####################### 函数创建 def test(x): ‘注释‘ x+=1 #代码块 return x 可以带参数也可以不带参数 有无return都是函数 形参和实参 形参不占用空间只有在调用时才占用空间 实参占用空间 def calc(x,y): #形参 res = x**y return res #函数一碰到return 就结束了 c = calc(a,b) #实参 print(c) def test(x,y,z): print(x) print(y) print(z) test(1,2,3) #位置参数 ;一一对应 多一个不行,少一个也不行 关键字参数位置无需固定 def test(y=1,x=3,z=3) test(1,2,4,y=1)#报错 一一对应 位置参数和关键字参数混合使用 :位置参数必须在关键词参数左边 默认参数 def handle(x,type=‘mysql‘) print(x) print(type) 参数组:**字典 *列表 *args接收的还是列表 接收的位置参数 def test(x,*args): print(x) print(args) test(1,23,43,342,9) test(1,{‘name‘:‘alex‘})#还是把这个字典当成一个元组的值 test(1,*[‘z‘,‘d‘,‘y‘])#加一个*遍历,不加*还是把这个列表当成一个元组的值 *args 输出的是元组 **args 接收关键字参数 如 x=123 def test(x,*args,**kargs)#可以输入任何内容 *args和**kargs一起出现必须按照顺序