python基礎7
阿新 • • 發佈:2018-12-01
1.將函式作為返回值
def lazy_sum(*args):
def sum():
ax = 0
for n in args:
ax = ax + n
return ax
return sum
#進行呼叫
f = lazy_sum(1, 3, 5, 7, 9)
f()
2.使用匿名函式,前面的x: 其實就是引數
lambda x:x*x
相當於
def f(x): return x*x def build(x, y): return lambda: x * x + y * y print(build(20,2)())
3.獲取函式物件的名字
build.name
4.型別轉化
>>> int('12345')
12345
但int()函式還提供額外的base引數,預設值為10。如果傳入base引數,就可以做N進位制的轉換:
>>> int('12345', base=8)
5349
>>> int('12345', 16)
74565
functools.partial就是幫助我們建立一個偏函式的,不需要設定base的函式:
>>> import functools >>> int2 = functools.partial(int, base=2) >>> int2('1000000') 64 >>> int2('1010101') 85
5.這個私有的方法,使用_或者是__
def _private_1(name):
return 'Hello, %s' % name
def _private_2(name):
return 'Hi, %s' % name
def greeting(name):
if len(name) > 3:
return _private_1(name)
else:
return _private_2(name)
print(greeting("啦啦"))
6.物件的使用
class Student(object): #這應該是構造器 第一個引數self表示的就是自身 def __init__(self,name): self.name=name def print_score(self): print("%s" %(self.name)) bart = Student('Bart Simpson') lisa = Student('Lisa Simpson') bart.print_score() lisa.print_score()