wyh551202 发表于 2022-9-14 16:52:12

2022-09-14 学习Python-Day12

中秋过后,学习归来!函数的学习有点玄乎玄乎的了P42-P49{:10_332:}
######################################P46
import time


def func():
    x=520
    print(x)
func()

def funa():
    x=880
    def funb():
      x=550
      print(x)
    funb()
funa()

def funa():
    x=880
    def funb():
      print(x)
    returnfunb
funa()()
fun=funa()
fun()
def power(exp):
    def exp_of(base):
      return base ** exp
    return exp_of
square = power(2)
print(square(2))
cube =power(3)
print(cube(3))

def outer():
    x=0
    y=0
    def inner(x1,y1):
      nonlocal x,y
      x=x1+x1
      y=y1+y1
      print(f'现在,x={x},y={y}')
    return inner
move=outer()
move(1,2)
######################################P47
def myfun():
    print('调用函数')
def report(func):
    print('开始')
    func()
    print('结束')
report(myfun)

def time_master(func):
    print('开始运行')
    start =time.time()
    func()
    end = time.time()
    time_=(end-start)
    print('结束运行')
    print(f'总共运行:{time_:.2f}秒')
def myfunc():
    time.sleep(2)
    print('Hello')
time_master(myfunc)
###############################
def time_master(func):
    def call_func():
      print('开始运行')
      start = time.time()
      func()
      end = time.time()
      time_ = (end - start)
      print('结束运行')
      print(f'总共运行:{time_:.2f}秒')
    return call_func
@time_master
def myfunc():
    time.sleep(2)
    print('Hello')
myfunc()
#######################################
def call_func(func):
    print('开始运行')
    start = time.time()
    func()
    end = time.time()
    time_ = (end - start)
    print('结束运行')
    print(f'总共运行:{time_:.2f}秒')
    return call_func

def myfunc():
    time.sleep(2)
    print('Hello')
aa=myfunc()
#######################################
def logger(msg):
    def time_master(func):
      def call_func():
            print('开始运行')
            start = time.time()
            func()
            end = time.time()
            time_ = (end - start)
            print('结束运行')
            print(f'总共运行:{time_:.2f}秒')
      return call_func
    return time_master
@logger(msg='a')
def funa():
    time.sleep(1)
    print('正在使用funa')
@logger(msg='b')
def funb():
    time.sleep(1)
    print('正在使用funb')
funa()
funb()
#######################################P47
def logger(msg):
    def time_master(func):
      def call_func():
            print('开始运行')
            start = time.time()
            func()
            end = time.time()
            time_ = (end - start)
            print('结束运行')
            print(f'总共运行:{time_:.2f}秒')
      return call_func
    return time_master

def funa():
    time.sleep(1)
    print('正在使用funa')

def funb():
    time.sleep(1)
    print('正在使用funb')
funaa=logger(msg='a')(funa)
funbb=logger(msg='b')(funb)
funa()
funb()
#######################################P48
def squarex(x):
    return x*x
x1=square(3)
print(x1)
squarey= lambda y:y*y
print(squarey(5))
y=
print(y(y))
print(y(y))
mapp=map(lambda x:ord(x)+10,'FishC')
print(list(mapp))
def boring(x):
    return ord(x)+10
mappp=list(map(boring,'FishC'))
print(mappp)
li=list(filter(lambda x:x%2, range(10)))
print(li)
#######################################P49-生成器
def counter():
    i=0
    while i<=5:
      yield i
      print(i)
      i=i+1
c=counter()
print(c)
def fib():
    back1=0
    back2=1
    while True:
      yield back1
      back1,back2=back2,back1+back2
      # back1=back2
      # back2=back1+back2

f=fib()
print(next(f))
print(next(f))
print(next(f))
print(next(f))
print(next(f))
print(next(f))
t=(i ** 2 for i in range(10))
print(t)


在生成器的学习中,斐波那契数列, back1,back2=back2,back1+back2如果写成
back1=back2
back2=back1+back2
结果居然不一样,很是神奇!
页: [1]
查看完整版本: 2022-09-14 学习Python-Day12