set :
无序,不重复,可以嵌套
.add (添加元素)
.update(接收可迭代对象)---等于批量 添加
.diffrents()两个集合不同差
.sysmmetric difference(对称差集
.discard(移除指定元素,没有不会报错)
.remove(移除某个元素,没有时报错)
.pop(随机移除元素),返回移除的元素。
.intersection(s1,s2,中的交集)
.union(并集,去掉重的)
..intersection_update
.issubset(判断是否有交集)
函数
def 关键字,创建函数
函数名(自定义)
()
:
函数体 ---定义时不执行 ;调用时才执行
返回值-
在函数中,一旦执行return,函数执行过程立即终止。
函数参数:1、普通参数2、默认参数(必须放在参数列表的最后面)3、指定参数,
形式参数(形式参数前加*,意思是可以传N个实参,并用一个tuple包起来)
实际参数----如果函数定义有*,把参数都放一个tuple里作为一个元素传入,传参数如果也加*,会把参数转化为一个tuple!
传参数默认一一对应 赋值
默认参数
默认参数写在最后,么有传参数时按默认值
指定参数
动态参数* (tuple)如果函数定义有*,把参数都放一个tuple里作为一个元素传入,传参数如果也加*,会把参数转化为一个tuple!
动态参数** (字典)必须要指定一个K
如果形式参数有** 实参加**可以传dict
形式参数*时,实参以tuple为接收单位,传str,会转成tuple;list时,会tuple包list;tuple时,直接是tuple
形式参数**时,实参以dict为接收单位,str时必须给K值才可生成dict ;dict时;直接dict方式
万能参数;
*arg,**agrs
函数传参数是以引用方式传入的
全局变量;(都要大写)所有的作业域多可以读;对全局变量进行重新赋值,需要global;特殊的:list,dict时,读时,可以修改,但是不可重新赋值。
没有写在函数里的变量为全局变量;函数内可以调用全局变量的。
函数内部的变量为局部变量。自身可以调用
global +局部变量,变为全局变量了
函数和函数之间空两行
str.format();
也可以是以tuple,dict 方式传入
tuple =(123,456)
str.format(*tuple)
dict = {'name'='liushuboa','age'=27}
str.format(**dict)
三元运算;
运算 if 条件成立 else 运算
条件成立 执行if 前面的运算
条件不成立 执行else 后面的运算
lambda 函数 简单一行即可,多行不行。
函数名 = lambda 参数 (可以多个):函数体
列如:f2 = lambda b: b +100
f2(100)
prin(f2) 200
内置函数:
abs(绝对值)
all(判断序列里的所有元素为真就为真)
any(判断序列里的只有元素为真就为真)
十进制转换:[
bin()--转2进制
oct()--转8进制
hex()--转16进制]
utf-t---一个汉字 :三字节 一个字节8位
GBK---一个汉字: 二字节
bytes()---将字符串转成字节
bytes(要转换的字符,按照什么编码)(s,encoding='utf-8')
(s,encoding='gbk')
字节转换字符串:
str(byyes(s,encoding='utf-8'),encoding='utf-8')
打开文件:
open('db','r')
with open('db','x')as f
操作文件
x --- 如果存在报错,不存在则创建并写入。
open('db','a')---追加
open('db','w')---先清空,在写入
open('db','a',encoding='utf-8') 乱码时可能是encoding错误
open('db','rb')--二级制方式打开
文件指针:
seek()主动的调文件指针的位置。(字节)
.tell()
获取当前只针的位置(永远是字节)
操作文件
read()无参数。读全部,有参数
b,按字节
无b字符
write()
写数据,b, 写字节 无b,字符
flush()-将缓冲区强刷进硬盘。
readable()是否可读
readline() 仅读取一行
truncate()截断seek()之后的文件 seek()之前的获取
for line in f
一行一行的读取,操作,。
close()-关闭
with open('.txt','r') as f1
同时打开俩个文件
with open('.txt','r')as f1,open( '.txt1.'r') as f2