发布时间:2020-11-19 11:35:36 已帮助:323人 来源:厦门达内教育
1.*args和**kwargs是函数参数
如果您查看Python模块或什至该模块的文档,则可能会看到*args和**kwargs。它们看起来和行为隐约地像是C语言中的指针。事实并非如此。*args只是发送给函数的参数列表。
**kwargs是关键字参数的字典。
*args例:
def add_it(*args):<字体></字体>
为NUM在ARGS:<字体></字体>
打印(num)<字体></字体>
<字体></字体>
add_it(3,4,5,6)
输出:
$python dzone.py<font></font>
3<font></font>
4<font></font>
5<font></font>
6
**kwargs例:
def fish_counter(**kwargs):<字体></字体>
打印(kwargs)<字体></字体>
<字体></字体>
fish_counter(鲑鱼=10,鳟鱼=30,冶炼=10,大blue=52)
输出:
$python dzone.py<font></font>
{'bluegill':52,'smelt':10,'salmon':10,'trout':30}
对于运行的代码*args和**kwargs例子,请这里的文件中args_example.py。
2.列表推导适用于循环快捷方式
列表压缩是返回列表的一种简短方法。在代码段中,for循环为for number in args。
通常在循环内的表达式是num**2,它返回参数的平方。
def square_it(*args):<字体></字体>
返回[NUM**2为NUM在ARGS]<字体></字体>
<字体></字体>
打印(square_it(3,4,5,6))
输出:
$python dzone.py<font></font>
[9,16,25,36]
您可以将过滤器附加到列表理解的末尾以过滤出输入。例如,要仅对偶数取平方,请使用以下过滤器:
def square_it(*args):<字体></字体>
返回[NUM**2为NUM在ARGS如果NUM%2==0]<字体></字体>
<字体></字体>
打印(square_it(3,4,5,6))<字体></字体>
输出:
$python dzone.py<font></font>
[16、36]
列表理解功能不会在for循环中添加任何特殊功能。人们使用列表推导,是因为它们较短,并且一旦您习惯了语法,就可以使代码更易于阅读。有些人可能会过度使用列表理解,并使代码更难以阅读。请注意这一点,因为将卷积列表与多个嵌套进行卷积并不是实践。
如果您刚开始使用Python并看到for一行循环,则可以在Internet上搜索列表推导并查看以下三个组件的语法:
表达。
对于循环。
过滤。
3.F字符串可以替换.format()
Python非常适合字符串操作。您可能会至少看到3或4种将变量插入字符串的技术。大多数人笨拙。一个很酷。
字符串串联
很久以前,您可能已将变量插入具有类似以下代码的字符串中:
animal=“dogs”<字体></字体>
人口=3<字体></字体>
city=“Palo Alto”<字体></字体>
打印(“有”+STR(人口)+“”+动物+在“”+城市+“”)
输出:
$python dzone.py<font></font>
有3个狗在帕洛阿尔托。
这很难阅读,容易出错。即使语法高亮显示,也很容易错过空格。
字符串替换
字符串替换可以帮助减少错误。
打印(“字符串替换格式示例”)<字体></字体>
人口=3<字体></字体>
animal='dogs'<字体></字体>
city='Palo Alto'<字体></字体>
my_string='%s中有%s%s'%(人口,动物,城市)<字体></字体>
打印(my_string)<字体></字体>
输出量
字符串替换格式示例<font></font>
有3个狗在帕洛阿尔托
使用字符串替换的在线例子可在这里的文件中format_example.py
字串格式
更好的方法是使用.format()并制作如下字符串:
animal=“dogs”<字体></字体>
人口=3<字体></字体>
city=“Palo Alto”<字体></字体>
<字体></字体>
打印(“{}中有{}{}”。格式(人口,动物,城市))
$python dzone.py<font></font>
有3个狗在帕洛阿尔托
尽管.format在字符串连接方面有了很大的改进,但仍然有些笨拙。
F弦
首先,升级到Python 3.6或3.7。现在,您可以使用f字符串。
打印(f“{city}中有{人口}{动物}”)
$python3 dzone.py<font></font>
有3个狗在帕洛阿尔托<FONT></FONT>
4.Lambda函数是匿名的
Python lambda函数是快捷方式。尽管可以将它们分配给变量,但类似于普通函数,但使用以下语法通常将它们用作匿名函数。
打印((拉姆达NUM1,NUM2:NUM1+NUM2)(4,6))
输出:
$python3 dzone.py<font></font>
10
像大多数这些Python快捷方式一样,lambda函数通常不会添加新功能。不过,一旦您习惯了语法,它可以降低代码的复杂性。
5.装饰器函数扩展Python函数
您可能会看到装饰器函数与 decorator_name函数之上的函数一起使用。
time_decorator<字体></字体>
def cool_function:<字体></字体>
打印(“做酷事”)<字体></字体>
装饰器的名称可以是任何名称。例如,它将与一起使用 panda。您无需了解如何创建自己的装饰器即可使用它。例如,让我们看一下http装饰器的Django文档。
来自django。意见。装饰。http import require_http_methods<字体></字体>
<字体></字体>
require_http_methods([“GET”,“POST”])<字体></字体>
def my_view(request):<字体></字体>
#我现在可以假设只有GET或POST请求可以做到这一点<font></font>
#...<font></font>
通过
该import行允许您使用预制的装饰器。在这种情况下,您只需要了解 require_http_methods为您创建的名为的功能添加了其他功能my_view()。
以上就是
厦门达内教育
小编为您整理5个Python概念新手必须了解!的全部内容,更多精彩请 在线咨询
也可以拨打咨询电话:
400-882-6911
让在线老师为你详细解答