2. python中的一些函数
1. 函数的基本概念
1.1 格式
def 函数名(参数列表) 功能代码 return 返回值
1.2 参数
1.2.1 形参与实参
形参:函数需要传递的参数
实参:调用函数时传递的参数
1.2.2 参数的调用
位置实参:
- 函数调用的每个实参都必须关联到函数定义中的一个形参,最简单的就是基于实参的顺序。注意:位置实参的位置不正确,将导致结果不正确
函数形参传值:
- 函数调用时,通过键-值的方式传递参数,不用按照位置的顺序
给形参指定默认值:
- 编写函数时,给形参指定默认值,如果调用时没有传递该参数,则取默认值
位置参数和关键字参数混用:
- 1)必须将 位置参数 写到前面,关键字参数 不用按照顺序来指定;
- 2)每个参数只能接收一个值,不可重复
1.2.3 参数的传递
(1)不定量的参数传递:
- *arg: 一个非键值对的可变数量的参数; **kwargs: 不定长度的键值对参数
(2)值传递 :
- 不可变参数通过值传递:数字、字符串、元组;
(3)引用传递:
- 可变参数通过引用传递:列表、字典
1.3 作用域
1.3.1 局部作用域
- 在函数内部创建的变量属于该函数的局部作用域,并且只能在该函数内部使用
1.3.2 全局作用域
- 在 Python代码主体中创建的变量是全局变量,属于全局作用域,全局变量在任何范围(全局和局部)中可用
1.3.3 在函数内部修改全局变量:global x
2. 常用函数
2.1 enumerate() 函数
2.1.1 普通的 for 循环
2.1.2 for 循环使用 enumerate
2.2 isinstance() 函数
2.2.1 isinstance() 方法的语法
isinstance(object, classinfo)
- object -- 实例对象。
- classinfo -- 可以是直接或间接类名、基本类型或者由它们组成的元组。
2.2.1 type() 与 isinstance()区别
-
type() 不会认为子类是一种父类类型,不考虑继承关系。
-
isinstance() 会认为子类是一种父类类型,考虑继承关系。(如果要判断两个类型是否相同推荐使用 isinstance())
3. 内置函数
5.1 内置函数
dir() 函数返回指定对象的所有属性和方法,不带值
len() 返回对象的长度、元素的个数
float() 返回从数字或字符串生成的浮点数
eval() 用来执行一个字符串表达式,并返回表达式的值
hex() 将整数转换成以“0x”为前缀的小写十六进制字符串
id() 返回对象的标识值,该值在对象的生命周期中唯一且恒定
type(obj) 返回obj的类型
isinstance(object,classinfo) 若参数object是参数classinfo的实例或者其子类,返回True,否则返回False
issubclass(class, classinfo) 如果classclassinfo的子类,返回True
5.2 常用内置模块
5.2.1 time模块 — 时间访问和转换
time.time() # 获取当前时间戳
time.strftime(“%Y-%m-%d %X”,time.localtime()) # 将结构化时间转成format格式的字符串时间
time.strptime(“2016:12:26 12:34:33”,“%Y:%m:d%X”) #将字符串时间转换成结构化时间
5.2.2 prandom模块 — 生成伪随机数
random.random() # 0,1之间随机浮点数
random.randomint(1,3) # 随机生成传入参范围内的数字
random.choice([1,”23”,[4,5]]) # 随机选择任意一个数字
random.sample([1,'23', [4, 5]], 2) # 随机选择任意两个数字
5.2.3 pjson模块—json编码和解码器
j = json.dumps(dic) dic = {“name”: ”jack”, ”age”:23} 将python对象编码成字符串
s = json.loads(dct_str) dct_tr = ‘{“1”:”abc”}’将已编码的python字符串解码为python对象
5.2.4 psys模块—系统相关的参数和函数
sys.argv # 命令行参数list,第一个参数是本身路径
sys.version # 获取python版本信息
sys.path # 返回模块的搜索路径
sys.platform # 返回操作系统平台名称
5.2.5 pos模块—操作系统接口模块
os.name # 显示当前使用的平台
os.getcwd() # 显示当前python脚本工作路径
os.environ # 获取系统环境变量
os.path.abspath(path) # 返回当前绝对路径
os.path.dirname(path) # 返回该路径的父目录
os.path.isfile(path) # 如果path是一个文件,返回True
os.path.isdir(path) # 如果path是一个目录,返回True
os.path.join(path, name) # 连接path和name的连接