python基础之文件操作和函数
一、知识点
1.三元运算
a = 2 b = 3 val = 6 if a < b else 7 print(val)
2.文件读取
f = open(file='file.txt',mode='r',coding='utf-8') data = f.read() print(data) f.close
要注意的是,存到硬盘上时是以何种编码存的,再从硬盘上读出来时,就必须以何种编码读,要不然就乱了
写文件用mode ='w',文件尾追加写;mode='a'
3.python3 执行代码的过程
- 解释器找到代码文件,把代码字符串按文件头定义的编码加载到内存,转成unicode
- 把代码字符串按照语法规则进行解释
- 所有的变量字符都会以unicode编码声明
4.文件编解码规则:
5.智能检测文件数据编码:
chardet.detect(data)
6.函数定义
def sayhi():#函数名
print("Hello, I'm nobody!")
sayhi() #调用函数
7.闭包
闭包即函数定义和函数表达式位于另一个函数的函数体内(嵌套函数)。闭包的意义:返回的函数对象,不仅仅是一个函数对象,在该函数外还包裹了一层作用域,这使得,该函数无论在何处调用,优先使用自己外层包裹的作用域。
8.装饰器
代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator)。
一个完整的decorator的写法如下:
import functools def log(func): @functools.wraps(func) def wrapper(*args, **kw): print('call %s():' % func.__name__) return func(*args, **kw) return wrapper
或者针对带参数的decorator:
import functools def log(text): def decorator(func): @functools.wraps(func) def wrapper(*args, **kw): print('%s %s():' % (text, func.__name__)) return func(*args, **kw) return wrapper return decorator