内建函数getattr工厂模式,python函数默认参数作用

 

pyMethod类下定义了三个方法,getattr(pyMethod(),'out%s'%str)()   传入的方法名不同,调用不同的方法。些处方法名为字符串。

图片 1

D:Python27python.exe D:/untitled1/temp5.py
[1]
['a', 'b', 'c', 2]
[1, 3]
C:Python27python.exe D:/weixin/python_getattr.py
this is number
this is string
this is date

Process finished with exit code 0

          (2)比较运算

def ddd(a,b=None):
    if type(b).__name__!='list':
        b = []

    b.append(a)
    print(id(b)) #查看内存地址
    return b

print(ddd(1))
print(ddd(2,['a','b','c']))
print(ddd(3))

举个栗子:

           (3)赋值运算

 

getattr()这个方法最主要的作用是实现反射机制。也就是说可以通过字符串获取方法实例。  传入不同的字符串,调用的方法不一样。

    and 并且,左右两端同时为真,结果才能是真
    or  或者,左右两端至少有一个是真,结果就是真
    not 否,非真即假,非假即真

    ***运算顺序: () => not => and => or
    x or y
    如果x为0则返回y,否则返回x
    [注意]:and和or相反(x and y)
def ddd(a,b=[]):
    b.append(a)
    print(id(b)) #查看内存地址
    return b

print(ddd(1))
print(ddd(2,['a','b','c']))
print(ddd(3))

 

图片 2

看到以上结果有什么想法,为什么呢???[1, 3]而不是[3],那么修改一下代码,输出b变量的内存地址看一下。我想,可以找到我要的答案

 

1. 循环
    while 条件:
        代码块(循环体)
        break 彻底停止当前本层循环
        continue 停止当前本次循环,继续执行下一次循环
    else: # 当条件为假的时候会执行else
        代码块
2. 格式化输出
    %s 占位字符串
    %d 占位数字
    int(str) # 字符串转换成int 
    str(int) # int转换成字符串
3. 运算符(难点)
    基本运算:算数运算、⽐较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算.
    (1)算数运算

示例1:猜测一下,会输出什么??? 

不前进,不倒退,停止的状态是没有的.

           (4)逻辑运算

当def函数参数默认值为对象时,例如列表[],字典{}

 

 

本文由澳门新葡亰平台官网发布于编程,转载请注明出处:内建函数getattr工厂模式,python函数默认参数作用

TAG标签:
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。