hasattr(print,'__call__') 表示print方法是否能被调用,返回True或False,hasattr方法能得到对象是否存在,可调用。
__doc__ 属性,会调用函数或者类的注释
help(print) 会打印print的注释和使用方法,其它类似
def myfunc(name='小明',cont='你好'):pass 定义了方法myfunc参数默认name为“小明”,cont默认为“你好”
def myfunc(name,*others):pass 定义方法myfunc注意参数“ *others ”,* 表示others可以收集其他可变长的参数
def myfunc(x,y,z=3,*arg1,**arg2):pass *arg1 收集其余参数,**arg2 收集键值对的参数
收集参数的逆过程 如func(*tuple),func(**dict) 调用元组的*tuple :将元组变成一个个参数,**dict把字典变成键值对传给方法
locals(),vars(),globals() 返回相应作用域可见的函数和变量
x = 1
def func():
global x #想要调用外部的x,必须使用global声明一下
x = x+1
return x
def outer(num):
def inner(in): #这种写法是函数式编程的体现,闭包
return in*num
return inner #返回一个方法名
map,filter,reduce在python3中存在于functools模块中
isinstance(obj,Type) 判断obj是否式类型Type的实例
标准库random包含各种随机函数
新式类和旧式类 旧式类存在于python3之前的版本中
新式类的声明需要在模块开始的地方声明 __metaclass__ = type python3中无需要此声明,因为默认继承了object
方法和函数 方法式对象拥有的,函数是一个功能,不属于具体对象
外部无法直接访问的属性或者方法 需要命名的时候在前面加上双下划线“__”,加了“__”之后会编译成 _Class__name形式
单下划线开头的变量其他对象无法访问 如form module import * 就不会导入
python类中的静态变量和静态字段,主要看方法有没有参数self
类属性__bases__ 可以返回类的基类(就是父类)
issubclass(Child,Father) 判断是不是子类
isinstance不如用issubclass好
__class__ 属性可以返回类信息
class Man(Person,object) 多继承时,方法优先级 Man>Person>Object 由左到右开始查找
__dict__ 可以查看某个对象由哪些组成部分
hasattr getattr setattr
异常
raise 类似于java中的throw
dir() 可以列出模块的内容
exceptions模块 里面有很多内置的异常
try/except 类似于java中的try/catch
except ExType as e 这个地方比较特殊 as是python3新增的特性
try/except/else/finally else子句在没发生异常时会执行,finally都会执行类似于java
上一篇 下一篇