java转python记录 三

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

上一篇            下一篇

你可能感兴趣的:(python)