python函数和常用模块(一),Day3
- set集合
- 函数
- 三元运算
- lambda表达式
- 内置函数1
- 文件操作
set集合
创建
se = {"123", "456"} # 直接创建一个集合
se = set(list) # 将列表转化成集合
功能
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,元组,字符串
函数
创建函数/定义函数
创建函数/函数定义 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 默认规则,定义全局变量全部大写
三元运算
name = "alxe" if 1 == 1 else "sb"
# 如果 1 == 1成立 那么 name = "alxe"
# 否则 name = 'sb'
lambda表达式
f2 = lambda a1, a2 = 9: a1 + a2 +100
内置函数1
# , None, "", [], {}, ()是False
abs() # 绝对值
all() # 所有为真,才为真
any() # 任何一个为真,就为真
ascii() # 自动执行__repr__方法
bin() # 十进制转二进制
oct() # 十进制转八进制
hex() # 十进制转十六进制
bool() # 布尔值
bytes() # 字符串转换字节类型
bytearray() #
str() # 转换字符串
open() # 打开文件
补充
utf-8编码,一个汉字是三个字节
gbk编码,一个汉字是两个字节
字符串转换字节类型
bytes(只要转换的字符串, 按照什么编码 )
s = "中国"
n = bytes(s, encoding="utf-8")
print(n) 字节转换成字符串
str(bytes(s, encoding="utf-8"), enconding="utf-8")
文件操作
打开文件
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
操作文件
read() # 无参数读全部;有参数,b,按字节,无b按字符
tell() # 获取当前指针位置(字节)
seek() # 指针跳转指定位置(字节)
write() # 写数据,b 自己,无b,字符
close() # 关闭
fileno() # 文件描述符
flush() # 强刷
readable() # 检查是否可读
seekable() # 是否可以移动指针
readline() # 仅读取一行
writeabke() # 是否可写
truncate() # 截断数据,指针位置后的清空 循环每一行
for line in f
print(line)
用过源码查看功能
关闭文件
f.close()
python函数和常用模块(一),Day3的更多相关文章
- python函数和常用模块(三),Day5
递归 反射 os模块 sys模块 hashlib加密模块 正则表达式 反射 python中的反射功能是由以下四个内置函数提供:hasattr.getattr.setattr.delattr,改四个函数 ...
- python函数和常用模块(二),Day4
内置函数2 装饰器 字符串格式化 生成器 迭代器 递归 模块 序列化相关 time模块 datetime模块 内置函数2 callable() # 是否可以被执行,是否可以被调用 chr() # as ...
- python笔记之常用模块用法分析
python笔记之常用模块用法分析 内置模块(不用import就可以直接使用) 常用内置函数 help(obj) 在线帮助, obj可是任何类型 callable(obj) 查看一个obj是不是可以像 ...
- 十八. Python基础(18)常用模块
十八. Python基础(18)常用模块 1 ● 常用模块及其用途 collections模块: 一些扩展的数据类型→Counter, deque, defaultdict, namedtuple, ...
- python基础31[常用模块介绍]
python基础31[常用模块介绍] python除了关键字(keywords)和内置的类型和函数(builtins),更多的功能是通过libraries(即modules)来提供的. 常用的li ...
- Python 五个常用模块资料 os sys time re built-in
1.os模块 os模块包装了不同操作系统的通用接口,使用户在不同操作系统下,可以使用相同的函数接口,返回相同结构的结果. os.name:返回当前操作系统名称('posix', 'nt', ' ...
- Python基础之--常用模块
Python 模块 为了实现对程序特定功能的调用和存储,人们将代码封装起来,可以供其他程序调用,可以称之为模块. 如:os 是系统相关的模块:file是文件操作相关的模块:sys是访问python解释 ...
- Python学习笔记-常用模块
1.python模块 如果你退出 Python 解释器并重新进入,你做的任何定义(变量和方法)都会丢失.因此,如果你想要编写一些更大的程序,为准备解释器输入使用一个文本编辑器会更好,并以那个文件替代作 ...
- python基础之常用模块以及格式化输出
模块简介 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要 ...
随机推荐
- 关于DDD的 认识
tks: 第一篇: 领域驱动设计系列(1)通过现实例子显示领域驱动设计的威力 第二篇: 领域驱动设计系列(2)浅析VO.DTO.DO.PO的概念.区别和用处 第三篇: 领域驱动设计系列(3)有选择性的 ...
- [原]OpenGL基础教程(五)缓冲区数据更新方式
1.glBufferSubData 适用于相同数据类型 void SetPositionY(float y){ vector<Vector3<float>>::itera ...
- TDA - Thread Dump Analyzer (Java线程分析工具)
TDA - Thread Dump Analyzer (Java线程分析工具)http://automationqa.com/forum.php?mod=viewthread&tid=2351 ...
- Nhibernate基础
Nhibernate(英文冬眠的意思) 常用方法 Contains Evict Clear 在 NHibernate 中一切必须是 Virtual 的吗? http://www.cnblogs.co ...
- WebDriver兼容SeleniumRC(基于C#)
WebDriver兼容SeleniumRC(基于C#)http://www.automationqa.com/forum.php?mod=viewthread&tid=3535&fro ...
- 创建 iPhone/iOS8 弹出菜单(窗口)
基本步骤 添加视图:主视图与弹出视图 关联视图 配置弹出视图 编码实现:弹出菜单样式及控制器委托 override func prepareForSegue(segue: UIStoryboardSe ...
- IT项目经理成长手记
1.流程化,项目化,工业化: 2.启动,规划,实施,监控,收尾.五个过程 3.需求管理,项目策划,项目监控,集成项目管理,定量项目管理,供应商协议管理,风险管理. 4.项目经理是熬出来的,伟大都是熬出 ...
- 内容营销三大实用法则(内含干货)-同样可运用在EDM数据营销中
内容为王的时代,注重内容的发展才能屹立于互联网的浪潮之中.一个优秀内容在搜寻引擎优化.用户互动,促进销售等方面都扮演重要的角色,博主在这方面深有体会,但是很多人往往走向事情的反面,不注重实际的内容,而 ...
- 由于无法创建应用程序域,因此未能执行请求。错误: 0x80070002 系统找不到指定的文件
前两天安装了一堆补丁后突然发现,原本正常使用了一年的应用系统打不开了,到事件日志中发现有.net framewok 2.0的补丁安装失败的日志,于从从重装补丁开始.到重新注册.net框架,再到所有.n ...
- python高效解析日志入库
python脚本解析日志文件入库一般有三个重要的步骤:读文件.解析文件.入库.在这三个方面下功夫,可确保我们获得最优的性能(这里不讨论并发) 1 读文件:一次读一行,磁盘IO太多,效率低下:一次性读如 ...