python进阶知识笔记
repr()与str()区别
Python 有办法将任意值转为字符串:将它传入repr() 或str() 函数。
函数str() 用于将值转化为适于人阅读的形式,而repr() 转化为供解释器读取的形式。
class Student(object):
def __init__(self, name):
self.name = name
def __str__(self):
return "I'm str"
def __repr__(self):
return "I'm repr"
>>> print(Student('Michael'))
I'm str
>>> s = Student('Michael')
>>> s
I'm repr
当函数的参数个数太多,需要简化时,使用functools.partial可以创建一个新的函数,这个新函数可以固定住原函数的部分参数,从而在调用时更简单。
标准格式脚本
在脚本中, 第一行以 #! 开头的代码, 在计算机行业中叫做 "shebang", 也叫做 sha-bang / hashbang / pound-bang / hash-pling, 其作用是"指定由哪个解释器来执行脚本".
仅仅适合于Unix like机器 转自https://www.jianshu.com/p/400c612381dd
#!/usr/bin/env python 注释:再当脚本文件夹可以直接call脚本文件名来执行脚本,因为这里指定来指定解释器
#coding=utf-8 注释:指定编码方式,注意是coding不是encoding
' a test module ' # 可视为脚本或模块的说明文档
__author__ = 'Michael Liao' #声明作者
import sys
def test():
args = sys.argv #命令行执行时候传入的argv至少有一个元素,注意第一个参数永远是该.py文件的名称
if len(args)==1:
print('Hello, world!')
elif len(args)==2:
print('Hello, %s!' % args[1])
else:
print('Too many arguments!')
if __name__=='__main__': #执行该脚本时候才会判断为真,导入(import)时候不会执行后面的内容,常用于测试该模块
test()
添加模块搜索路径
>>> import sys
>>> sys.path.append('/Users/michael/my_py_scripts') #这种方法下次失效,永久保存要修改系统path