python函数和常用模块(一),Day3
- set集合
- 函数
- 三元运算
- lambda表达式
- 内置函数1
- 文件操作
set集合
创建
1 2 | se = { "123" , "456" } # 直接创建一个集合 se = set ( list ) # 将列表转化成集合 |
功能
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | s = set () # 创建一个集合 s.add( 123 ) # 添加一个元素 s.clear() # 清除元素,清空 s1 = { 11 , 22 , 33 } s2 = { 22 , 33 , 44 } s3 = s1.difference(s2) # s1中存在,s2中不存在 赋值给新的变量s3 s3 = s1.symmetric_difference(s2) # s1存在s2中不存的 和 s2中存在s1中不存的 赋值给新的变量s3 s1.difference_update(s2) # s1中存在,s2中不存在 更新到s1 s1.symmetric_difference_update(s2) # s1存在s2中不存的和s2中存在s1中不存的更新到s1 s1.discard( 11 ) # 移除指定元素,不存在不报错 s1.remove( 11 ) # 移除指定元素,不存会报错 s1.pop() # 移除某个元素,并返回这个元素 s1.intersection(s2) # 取两个的交集 赋值给新的变量s3 s1.intersection_update(s2 ) # 取两个的交集,更新给s1 s1.isdisjoint(s2) # 判断两个集合有没有交集 s1.issubset(s2) # 是否是子序列 s1.issuperset(s2) # 是否是父序列 s3 = s1.union(s2) # 并集 s1.update() # 更新,接受一个可以迭代的对象,可以是list,元组,字符串 |
函数
创建函数/定义函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | 创建函数 / 函数定义 def 关键字,创建函数 函数名 () 函数体 返回值 定义函数,函数体不执行,只有调用函数的时候,函数体才执行 在函数中 一旦执行了 return 函数立即终止 默认的函数 return 值为 None 函数的参数 形参 实参 形参上可以分为 普通参数 默认参数 指定参数 动态参数 万能参数 * ages, * * kwarges f( * ages, * * kwarges) * 默认将传入的参数,全部放置在元组中f(\ * args) f1( * [ 11 , 22 , 33 , 44 ]) 会将列表所有的元素赋值进去 * * 默认将传入的参数,全部放置在字典中f(\ * \ * args) f1( * * { "k1" : "v1" , "k2" : "v2" }) 会将字典的元素赋值进去 str . format () # 格式化输出 函数的要点 py是顺序执行的,并且函数可以重复定义函数相同名称的函数。调用时会执行最后一个被定义的函数。 函数的参数在传递的时候,到底是传一份引用,还是值. (传递的是引用) 全局变量 全局变量,所有的作用域都可读,函数外定义的变量 * 特殊 * 字典列表,可以修改,不可以重新赋值 函数里默认定义的变量是私有的 全局变量和私有变量同时存在时,默认优先使用局部私有变量 global 变量,能将局部的私有变量定义 / 表示为全局变量,在作用域里给全局变量 * 重新赋值 * ,需要使用 global 默认规则,定义全局变量全部大写 |
三元运算
1 2 3 | name = "alxe" if 1 = = 1 else "sb" # 如果 1 == 1成立 那么 name = "alxe" # 否则 name = 'sb' |
lambda表达式
1 | f2 = lambda a1, a2 = 9 : a1 + a2 + 100 |
内置函数1
1 2 3 4 5 6 7 8 9 10 11 12 13 | # , None, "", [], {}, ()是False abs () # 绝对值 all () # 所有为真,才为真 any () # 任何一个为真,就为真 ascii() # 自动执行__repr__方法 bin () # 十进制转二进制 oct () # 十进制转八进制 hex () # 十进制转十六进制 bool () # 布尔值 bytes() # 字符串转换字节类型 bytearray() # str () # 转换字符串 open () # 打开文件 |
补充
1 2 3 4 5 6 7 8 9 10 | utf - 8 编码,一个汉字是三个字节 gbk编码,一个汉字是两个字节 字符串转换字节类型 bytes(只要转换的字符串, 按照什么编码 ) s = "中国" n = bytes(s, encoding = "utf-8" ) print (n) 字节转换成字符串 str (bytes(s, encoding = "utf-8" ), enconding = "utf-8" ) |
文件操作
打开文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | f = open ( 'db' , a) # 打开文件 打开文件的模式 r 只读 w 只写 x 如果当文件存在,就报错,不存在,创建并写内容 3.x 新添加 a 追加 "+" 表示可以同时读写某个文件 r + w + x + a + f.seek() 主动的把指针调整到某个位置(字节位置) f.tall() 获取当前指针的位置 在写的时候会覆盖原本的内容 r + b w + b x + b a + b |
操作文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | read() # 无参数读全部;有参数,b,按字节,无b按字符 tell() # 获取当前指针位置(字节) seek() # 指针跳转指定位置(字节) write() # 写数据,b 自己,无b,字符 close() # 关闭 fileno() # 文件描述符 flush() # 强刷 readable() # 检查是否可读 seekable() # 是否可以移动指针 readline() # 仅读取一行 writeabke() # 是否可写 truncate() # 截断数据,指针位置后的清空 循环每一行 for line in f print (line) |
用过源码查看功能
关闭文件
1 | f.close() |

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步