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基础之常用模块以及格式化输出
模块简介 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要 ...
随机推荐
- Fedora 手动删除系统中不再需要的包
最新文章:Virson‘s Blog 1.安装yum-utils yum install yum-utils 2.使用package-cleanup --leaves列举系统中不再需要的包 packa ...
- JavaWeb(李兴华著)开发笔记
1.Java语法-基础 环境变量-JAVA_HOME, PATH, ClassPath 变量名 作用 举例 JAVA_HOME 指向JDK目录 C:\Program Files\Java\jdk1.7 ...
- songtaste网站歌曲真实URL获取
个人挺喜欢songtaste网站的歌曲的,下载方法也层出不穷,可是作为程序员如果不知其中原理的方法真是羞愧.首先简单点的方法当然有google插件这样的嗅探器了,不过这种工具的原理还不是很了解.今天先 ...
- 构建基于WinRT的WP8.1 App 02:数据绑定新特性
基于WinRT的Windows Phone 8.1以及Windows 8.1中Xaml数据绑定增加了一些新特性. FallBackValue属性:FallBackValue在绑定的值属性值不存在时,可 ...
- 一个方法告诉你as3的removeChild性能有多烂
其实as3这个坑我早就踩过,不过那时没太注意,最近把项目的removeChild干掉换成了visible=false,发现效率质的提升…… 先贴一下代码吧 private function testR ...
- ecslipe cdt lib link
项目属性-> settings -> mingw c linker 1.libs search 填写lib路径 2.lib 填写文件名,不要后缀
- devexpress表格控件gridcontrol设置隔行变色、焦点行颜色、设置(改变)显示值、固定列不移动(附源码)
介绍一些常用的gridcontrol设置. 1.设置隔行变色.首先设置显示隔行变色,步骤:OptionsView-->EnableAppearanceEvenRow-->true和Opti ...
- Android样式的开发:layer-list篇
上图Tab的背景效果,和带阴影的圆角矩形,是怎么实现的呢?大部分的人会让美工切图,用点九图做背景.但是,如果只提供一张图,会怎么样呢?比如,中间的Tab背景红色底线的像素高度为4px,那么,在mdpi ...
- ExtJs Column 显示文字内容过长 使用Tootip显示全部内容
{ text: 'Column Header Blah', dataIndex: 'blah', renderer: function(value, metaData, record, rowIdx, ...
- 用CSS让未知高度内容垂直方向居中
<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title> ...