函数的参数
可变参数
变量前加一*,叫可变参数或参数组。传参时不限制参数的个数(可以不传,或者传多个),把参数放在一个元组中;参数多的时候用可变参数,一般习惯写*args。
存在可变参数,传值是不能指定值去传。
关键字参数
变量前加两个*,传参时传key-value形式,传的参数放到字典当中。也可以不传参数。一般写**kwargs。
四个参数一起定义时,有先后顺序
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
循环序列的参数,可以用*进行拆包,拆包后的的个数 要与参数的个数一致。
如果 用字典进行直观的传参则 d4 ={'word':123,'country':999}, 则字典中的key要和形参一致。 t1(**d4) 返回值为123 999
内置函数
input() print() len() type() str() tuple() set() list() dict()
all(l) l=[1,3,9] #如果list 迭代对象里面都为真就返回true. any(l) # 如果迭代对象里面的值有一为真就是真
bin(888)#把一个十进制转成二进制 bool(‘s’)#把一个对象转换成布尔类型 oct() # 把数字转成8进制
chr(35) #打印数字对应的ascii dict(a=1,b=2)#转成字典 l =[1,2,3,4,5,6,7,8,9,10] def t(num): if num%2 ==0:return True l2 = list(filter(t,l) 就是利用函数过滤l的值。是真就返回。过滤数据 . list(map(t,l)) 也是把l的数据放到函数中执行,为假返回None,真则返回True.每一个都返回
排序 sorted(d) d = 'akkk42' ,返回一个值。内置进行排序。比如字典,字符串,元组都没有 像列表的 l.sort() 改变l的顺序,不返回值。这个排序方法,就用sorted(d)来进行排序
max([1,3,77]) 取最大值 min() 取最小值
round(3.134,2) 保留小数位数
打印传入对象的可调用方法 dir(s) s ='kkk' 传的是字符串,则看字符串的调用方法。传别的则看与之对应的方法
eval() 和 exec() 都是执行python代码
eval() #执行python代码,只能执行简单的,定义数据类型和运算。相当于消除字符串去运行
--------------------------------------------------------------------------------------------------------------------------------------
exec()#执行python 代码,全能,可以 执行复杂的。
如果有一个python文件,现在想拿过来运行。执行代码
f = open('a.txt',encoding = 'utf-8') result = f.read()
exec(result) #运行文件里的代码
------------------------------------------------------------------------------------------------------------
zip() 把几个list 一起循环。用zip去实现。
-----------------------------------------------------------------------------------------------------------
模块
1.一个模块就是一个python文件 自己写的python文件 ;标准模块,python自带的;第三方模块
安装:
pip install xxx #安装 pip uninstall xx #卸载 pip install xx -U #更新 pip freeze > 第三方模块.txt #导出已经安装的第三方模块 pip install -r 第三方模块.txt #从文件里面读模块,批量安装
pip 问题:1、pip命令不存在,把python安装目录下的scripts加入环境变量 2、pip 的时候没用python目录下的pip,使用where命令知道其他的pip,改为其他名字
手动安装(下载下来文件进行安装)1、whl 结尾的 pip install /Users/PyMySQL-0.9.3-py2.py3-none-any.whl #后面whl文件的绝对路径 2、tar.gz结尾的 1.解压 2.在命令行里面进入到解压的目录下 3.执行 python setup.py install
如果电脑上有多个版本的python 1.python3 -m pip install xpinyin python2 -m pip install xpinyin 2.找到各个版本的下面的scripts目录,pip各自修改为 pip2/pip3
导入模块的顺序 1、当前目录下找 2、import sys print(sys.path ) sys.path 是个序列 sys.path.append(r'模块路径')insert(0,r'模块路径')放到库的靠前位置。就把模块导入到模块库库中 导入模块的实质是 : import模块的的实质就是把改模块从上到下执行一遍 import datetime as f 起别名 from 模块(模块名) import a,name print(name) a() 直接用
-----------------------------------------------------------------------------------
if __name__ == '__main__':# 这行代码的目的是,写的模块 在这下面可以试运行,但这个模块被调用后,就不会执行这下面的代码
print(name) # 快速打出 ,main
a()
--------------------------------------------------------------------------------------