python基础7

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()

猜你喜欢

转载自blog.csdn.net/yuezheyue123/article/details/84637489