Hello,大家好我叫是Dream呀,一个有趣的Python博主,多多关照
CSDN Python领域优质创作者,大二在读,欢迎大家找我合作学习(文末有VX 想进学习交流群or学习资料 欢迎+++)
入门须知:这片乐园从不缺乏天才,努力才是你的最终入场券!
最后,愿我们都能在看不到的地方闪闪发光,一起加油进步
“一万次悲伤,依然会有Dream,我一直在最温暖的地方等你”,唱的就是我!哈哈哈~
✨✨✨
前言:
【Python公开课】系列课程是针对Python入门&进阶打造的一全套课程,如果你喜欢的话就抓紧收藏订阅起来吧~
【报团取暖】
如果对学习没有自制力或者没有一起学习交流的动力,欢迎私信或者在文末添加我的VX,我会拉你进学习交流群,我们一起交流学习,报团打卡
☀️☀️☀️一个崇高的目标,只要不渝地追求,就会成为壮举!
穷且益坚,不坠青云之志!
闭包定义:
Python函数是支持嵌套的。 如果在一个内部函数中对外部函数作用域(非全局作用域)的变量进行引用,那么内部函数就会被称为闭包。闭包需要满足如下3个条件:
存在于两个嵌套关系的函数中,并且闭包是内部函数;
内部函数引用了外部函数的变量(自由变量);
外部函数会把内部函数的函数名称返回。
假设我们已经开发了一个本有的函数,后续可能会增加临时的需求,例如插入日志,我们可以增加一个包裹函数,由它来负责这些额外的需求,这个包裹函数就是 装饰器
。
装饰器主要应用在如下场景:
装饰器是一个函数,它需要接收一个参数,该参数表示被修饰的函数。例如,有如下一个装饰器函数:
def myDectoration(func):
def inner():
print("正在执行内部函数")
func()
return inner
def printMessage():
print("--------欢迎您-------")
pm = myDectoration(printMessage)
pm()
# 正在执行内部函数
# --------欢迎您-------
通过在函数定义的前面添加@符号和装饰器名,实现装饰器对函数的包装
。给f1函数加上装饰器,示例如下:
@w1
def f1():
print(’f1')
此时,程序会自动编译生成调用装饰器函数的代码,等价于:
f1 = w1(f1)
多个装饰器应用在一个函数上,调用顺序是从下至上
。
@w1
@w2
def f1():
print(‘---f1---’)
执行顺序:
先执行@w2,后执行@w1
看看下面的代码,运行结果是什么呢?
def w1(func):
def inner(a,b):
print('开始验证权限')
func(a,b)
return inner
@w1
def tes(a,b):
print('a=%d,b=%d'%(a,b))
tes(1,2)
# 开始验证权限
# a=1,b=2
map函数会根据提供的函数对指定的序列做 映射
。
map函数的定义如下:
map(function, iterable,…)
第1个参数是函数的名称;第2个参数表示支持迭代的容器或者迭代器。
map函数的作用是以参数序列中的每个元素分别调用function函数,把每次调用后返回的结果保存为对象。
func = lambda x:x+2
result = map(func, [1,2,3,4,5])
print(list(result))
filter函数会对指定序列执行 过滤操作
。
filter函数的定义如下:
filter(function,iterable)
第1个参数可以是函数的名称;第2个参数表示的是序列、支持迭代的容器或迭代器。
func = lambda x:x%2
result = filter(func, [1, 2, 3, 4, 5])
print(list(result))
人生是跋涉,也是旅行;是等待,也是重逢;是探险,也是寻宝;是眼泪,也是歌声!
本章继续带大家探讨了函数的高级内容,包括 闭包、装饰器,以及与序列相关的3个内置函数
。通过对本章内容的学习,大家应该对函数有了更深地理解,并能够熟练地应用到开发中。
1.将一个正整数分解质因数。例如:输入90,打印出90=233*5。
# -*-coding:utf-8 -*-
# @Author:到点了,心疼徐哥哥
# 奥利给干!!!
# 14.将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
num = int(input('请输入:'))
for i in range(2, num):
while num!=1:
if num % i == 0:
num = num / i
if num==1:
print('%d'%i,end='')
else:
print('%d*'%i,end='')
else:
break
2.求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制。
a = int(input('请输入一个数:'))
b = int(input('请输入多少个数相加:'))
c=0
d = 0
for i in range(b):
c=c+a*10**i
d += c
print(d)
如果对学习没有自制力或者没有一起学习交流的动力,欢迎私信或者在文末添加我的VX,我会拉你进学习交流群,我们一起交流学习,报团打卡,群内更有众多福利等你来解锁哟,赶快加入我们吧!
也欢迎大家加入企业微信,获取超级大礼包,更有超多IT就业福利等你来领取嗷~
1️⃣课程配备PPT【原创版权,侵权必究】:如果想快速上手python的小伙伴们,这个详细整理PPT可以迅速帮助大家打牢python基础,需要的小伙伴们可以下载一下
Python入门基础教程全套+小白速成+学不会来找我!
2️⃣ 这是用Python做过的表白神器和表白圣诞树,需要的小伙伴自取:
Python表白神器,源码+解析+各种完美配置+浪漫新颖
3️⃣ 圣诞树表白源码+素材+拿去直接用
我与CSDN的2021 --从路人到一名万粉博主的自述
[Python公开课]零基础玩转Python基础篇----第一节:Python的自我介绍
[Python公开课]零基础玩转Python基础篇----第二节:Python的语法基础
[Python公开课]零基础玩转Python基础篇----第三节:Python的常用语句
[Python公开课]零基础玩转Python基础篇----第四节:Python的字符串
[Python公开课]零基础玩转Python基础篇----第五节:Python的列表、元组和字典
[Python公开课]零基础玩转Python基础篇----第六节:Python中的函数
好啦,这就是今天要分享给大家的全部内容了,我们下期再见!✨ ✨ ✨
如果你喜欢的话,就不要吝惜你的一键三连了~