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基础之常用模块以及格式化输出
模块简介 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要 ...
随机推荐
- 理解WebSocket
WebSocket的动机是什么? 目前的Web通信使用的是HTTP协议,HTTP协议是基于TCP协议的应用层协议,HTTP协议的工作模式是request/response模式.在一次通信中,必须首先由 ...
- Twig模版语言入门
转自 :http://pengbotao.cn/twig-template-language.html Twig中有两种定界符{% ... %} 和 {{ ... }} , 前一种用来执行语句,比如f ...
- Ubuntu下的防火墙
Ubuntu下的防火墙Gufw-ufw Gufw是ufw的桌面版本,网上有Gufw的安装和配置方法,但是我认为并不是很好.网上的教程也有点愚弄大众的嫌疑,因为按照他的说法,最后防火墙根本就无法自动启动 ...
- 【C语言】汉诺塔问题
之前遇见这个问题,非常费劲地理解了,并写出代码,然后过段时间,再遇见这个问题,又卡住了,如此反反复复两三次,才发现自己对递归的理解依然很肤浅.今天无聊,重温<算法:c语言实现>一书,又遇见 ...
- hdinfo
--------[ 鲁大师 ]-------------------------------------------------------------------------------- 版本: ...
- 【NS2仿真】UDP协议
# # cbr # \ # udp sink # \ / # n0--------5M 2ms---------n1 # # set ns [new Simulator] set f [open ou ...
- 尝试在virtualbox fedora21 下安装additions和mount share folder
安装这个additions的过程,基本上可以参照 http://gamblisfx.com/how-to-install-virtualbox-guest-additions-on-fedora-21 ...
- IOS APP上下黑边问题
网上的一种是一个问题, 更换launchImage 后 APP在iPhone5下出现黑边. 原因是:我将Jpg(640*1136)的图片 强制改为Png(640*1136),导致APP出现黑边.
- CommonJS 的 AMD 规范
异步模块定义(Asynchronous Module Definition,简称 AMD)API 描述了一种定义模块的机制,模块及其依赖模块可以通过这种机制进行加载.该机制特别适用于浏览器. 本规范曾 ...
- Asp.net Mvc4 基于Authorize实现的模块权限验证方式
在MVC中,我们可以通过在action或者controller上设置Authorize[Role="xxx"] 的方式来设置用户对action的访问权限.显然,这样并不能满足我们的 ...