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基础之常用模块以及格式化输出
模块简介 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要 ...
随机推荐
- Singleton<T>
代码如下: public class Singleton<T> where T : class { private static T _instance; private static r ...
- Xcode工程使用CocoaPods管理第三方库新建工程时出现错误
工程使用CocoaPods管理第三方库,在新的目录update版本的时候出现如下问题 问题1描述: diff: /../Podfile.lock: No such file or director ...
- tensorflow 运行成功!
折腾了一天安装tensorflow环境,终于可以运行,也记录一下安装中容易犯的错误总结(写给python小白们) 一.win7 双系统 安装ubuntu 16.04 ,参考 http://jingya ...
- .Net基础
标题 状态 内容 NET应用程序是如何执行的? http://www.cnblogs.com/kingmoon/archive/2012/07/16/2594459.html ...
- css3整理--clip
clip语法: .selector { clip: rect | auto | inherit } 注意:clip属性只能在元素设置了“position:absolute”或者“position:fi ...
- 导出 C/C++ API 给 Lua 使用[转]
导出 C/C++ API 给 Lua 使用 cocos2d-x 和 quick-cocos2d-x 的底层代码都是使用 C++ 语言开发的.为了使用 Lua 脚本语言进行开发,我们利用 tolua ...
- How to Debug Enterprise Portal Code in Dynamics AX 2009
转载 To set up debugging for pages1. Log into the server that is running the AOS.2. Open the Microsoft ...
- oracle vm virtualbox 如何让虚拟机可以上网
刚安装了虚拟机,系统linux2.6. 可是想安装一些软件,发现没法联网.郁闷~ 还要手动设置网络,可是也不是小白就可以干的事情,还要弄清楚原理才行. http://reverland.bitbuc ...
- SGU 422 Fast Typing(概率DP)
题目大意 某人在打字机上打一个字符串,给出了他打每个字符出错的概率 q[i]. 打一个字符需要单位1的时间,删除一个字符也需要单位1的时间.在任意时刻,他可以花 t 的时间检查整个打出来的字符串,并且 ...
- TWaver家族新成员 — Legolas工业自动化设计平台
对于TWaver可视化家族的成员,大家比较熟悉的是我们的网络拓扑图组件和MONO Design三维建模工具.作为开发工具,这两款产品面向广大的程序猿同志,在界面可视化上为大家省时省力.但是,当项目交付 ...