函数小结

函数小结

偏函数
print(int(‘123’,base=10))#强制转换为十进制
print(int(‘101110’,base=2))#强制转换为二进制

import functools
#把一个参数固定住,形成一个新的函数
int3=functools.partial(int,base=2) #规定了输入的值必须是二进制
print(int3(‘10111001’))
print(int3(‘10111101’))

装饰器01

def say(age):
print(‘sunck is %d years old’%(age))
def outer(func):
def inner(age):
if age<0:
age=0
func(age)
return inner

say_2=outer(say)
say_2(-10)

装饰器02

def outer(func):
def inner(age):
if age<0:
age=0
func(age)
return inner

@outer #相当于say=outer(say) 参看复杂装饰器的变换过程 升级后的功能又一次附加到say中
#使用@将装饰器应用到函数上
def say(age):
print(‘sunck is %d years old’%(age))
say(-10)

通用装饰器

def outer(func):
#…
def inner(*args,**kwargs):
#添加修改功能
print("&&&&&&&&&&&&&&&&&&&&")
func(*args,**kwargs)
#…
return inner
@outer
def say(name,age): #函数的参数一般在6到7个
print(‘my name is %s, I am %d years old’%(name,age))
say(“sunck”,18)

迭代器

from collections import Iterable
from collections import Iterator
#可迭代对象Iterable
#for 数据类型
#1. 集合数据类型 如 list tuple dict set string
#2.是generator, 包括生成器和带yeild的generator function
print(isinstance([],Iterator)) #用isinstance判断是否为迭代器
print(isinstance((),Iterator))
print(isinstance({},Iterator))
print(isinstance("",Iterator))
print(isinstance ((x for x in range(10)),Iterator))
print(1,Iterable)

“”“迭代器 可用于for循环 可以被next()不断调用并返回下一个值
,直到最后跑出一个stopIteration 表示无法继续返回下一个值”""

m=(x for x in range(5))
print(next(m))
print(next(m))
print(next(m))
print(next(m))
print(next(m))
print(next(m))

#将列表转化为迭代器
a=iter([1,2,3,4,5,6,7,8])
print(next(a))
print(next(a))
print(next(a))
print(next(a))

#将列表转化为迭代器
a=iter([1,2,3,4,5,6,7,8])
print(next(a))
print(next(a))
print(next(a))
print(next(a))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值