python零基础入门04(超详细)

23.函数的可变长参数

print(‘abc’,end =’\n’) # print(‘abc’) # def func(a, b ,c): # print(‘a= %s’%a) # print(‘b=%s’%b) # print(‘c= %s’%c) # func(1,c=2,b=3) #取得参数的个数

def howlong(first,*other):
print(1+len(other))

howlong(123,456,789)

24.函数的变量作用域

global:定义全局变量

var1=123
def func():
var1 =456
print(var1)
func()
print(var1)
运行结果:
456
123

var1=123
def func():
global var1
var1=456
print(var1)
func()
print(var1)
运行结果:
456
456

25.函数的迭代器与生产器

iter迭代器
yield生成器

list1 = [1,2,3]#定义列表
it = iter(list1)#处理成迭代
print(next(it))
print(next(it))
print(next(it))

def range(start,stop,step):
x=start
while x< stop:
yield x
x +=step
for i in range(10,20,0.5):
print(i)

26.lambda表达式
def add(x,y):
return x+y
print(add(4,5))
b=lambda x,y: x+y
print(b(3,5))

27.python内建函数

filter() 过滤器
map() 对列表的值一次处理
reduce() 必须通过functools 导入
zip() 对元祖进行组合、字典对调

a = [1, 2, 3, 4, 5, 6, 7]
print(list(filter(lambda x:x>3,a)))

a = [1, 2, 3, 4, 5, 6, 7]
print(list(map(lambda x:x,a)))

from functools import reduce
print(reduce(lambda x,y:x+y,[2,3,4],5))

for i in zip ((1, 2, 3),(4, 5, 6)):
print(i)
(1, 4)
(2, 5)
(3, 6)

dicta = {‘a’:123,‘b’:456}
dictb=zip(dicta.values(),dicta.keys())
print(dict(dictb))

28.闭包的定义

def func():
a = 1
b = 2
return a+b
def sum(a):
def add(b):
return a+b
return add
num1 = func()
num2 = sum(5)
print(num2(4))
print(num1)

def counter(FIRST=0):
cnt = [FIRST]
def add_one():
cnt[0] +=1
return cnt[0]
return add_one
num5 = counter(5)
num10 = counter(10)
print(num5())
print(num5())
print(num5())
print(num10())
print(num10())

29.闭包的使用

由原来传递变量的方式变成传递函数的方式,使用闭包传入的参数比使用函数传入的参数要少
def a_line(a,b):
def arg_y(x):
return a*x+b
return arg_y
line1 =a_line(3,5)
print(line1(10))

30.装饰器的定义

time()1970.1.1到现在走了多少秒
sleep()程序运行多少秒

import time
print(time.time())
def i_can_sleep():
time.sleep(3)
start_time = time.time()
i_can_sleep()
stop_time = time.time()
print(‘程序运行了%s秒’%(stop_time-start_time))
运行结果:
1618138886.0304697
程序运行了3.0007576942443848秒

import time

def timmer(func):
def wrapper():
start_time= time.time()
func()
stop_time= time.time()
print(‘程序运行了%s秒’%(stop_time-start_time))
return wrapper
@timmer
def i_can_sleep():
time.sleep(3)
i_can_sleep()

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值