函数:
- 定义函数:
-
def function (param1, param2...): body return XXX
- 函数名用小写
- 一旦遇到 return 函数立即退出
- 默认返回值为 null
- 函数参数:
- 普通参数
- 默认参数,即调用函数 send_1 时可以不传入 b 参数,b 参数值默认为 ‘gary‘
-
# 默认参数 def send_1(a, b=‘gary‘): print(a, b) return True
- 指定参数,可以不按默认位置传参
-
# 指定参数 def send(a, b): print(a, b) return True send(b=‘aaa‘, a=‘bbb‘)
- 动态参数,*args and **kwargs, reference: http://www.saltycrane.com/blog/2008/01/how-to-use-args-and-kwargs-in-python/
- The special syntax, *args and **kwargs in function definitions is used to pass a variable number of arguments to a function.
- The single asterisk form (*args) is used to pass a non-keyworded, variable-length argument list.
- the double asterisk form (**kwargs) is used to pass a keyworded, variable-length argument list.
-
def f1(*args): print(args, type(args)) f1([‘aaa‘,‘bbb‘])
当传入 [‘aaa‘,‘bbb‘] 时,整个 list 成为元祖的一个元素:([‘aaa‘, ‘bbb‘],)
-
def f2(*args): print(args, type(args)) f2(*[‘aaa‘,‘bbb‘])
当传入 *[‘aaa‘,‘bbb‘] 时,循环 list 每个元素为元祖的元素:(‘aaa‘, ‘bbb‘),
-
def f3(**kwargs): print(kwargs, type(kwargs)) dict = {‘aaa‘:1, ‘bbb‘:2}
使用 (**kwargs) 可以传入字典参数,当以 f3(k=dict) 方式调用函数时,可以自动构建字典:
-
{‘k‘: {‘aaa‘: 1, ‘bbb‘: 2}}
使用 f3(**dict) 调用函数时,返回
-
{‘bbb‘: 2, ‘aaa‘: 1}
- The special syntax, *args and **kwargs in function definitions is used to pass a variable number of arguments to a function.
- 函数参数传递的是引用
- 函数变量:
- 全局变量,函数外定义,任何作用域都可读。
- 局部变量,函数内部使用。
- 局部变量优先级更高,程序首先读取。
- 函数内部加 global 可以修改全局变量,即重新赋值。
- 如果全局变量是个可修改类型(sting, list, dict),函数内部不加 global 也可以对该变量进行修改,但是重新赋值必须加 global,重新赋值是在内存中创建新的 value
- 全局变量一定是大写
字符串格式化打印:
string.format():
# str format list_1 = [‘gary‘, 31] s1 = "im {0}, age {1}".format(*list_1) print(s1) s2 = "im {name}, age {age}".format(name=‘gary‘, age=31) print(s2) dict = {‘name‘:‘gary‘, ‘age‘:31} s3 = "im {name}, age {age}".format(**dict) print(s3)
lambda: 构造简单函数
冒号连接参数和返回值
f2 = lambda a1: a1 + 100
等价于
def f1(a1): return a1 + 100
三目运算:
用于简单的逻辑表达
name = "gary" if 1 == 1 else "NB"
等价于
if 1 == 1: name = "gary" else: name = "NB"
文件:
open 函数
- open 打开文件句柄
- r: 只读,w: 只写(先清空文件),x(python3): 文件存在则报错,不存在创建并赋 w 权限,防止覆盖存在文件,a: 追加
- r+: 读写,w+: 读写但每次先清空文件,a+: 无论指针在哪都从最后追加
- with open() as f: 完成操作自动关闭文件
- 模式有 "b" 则以字节读写,否则以字符读写
时间: 2024-12-09 13:45:14