联系方式

咨询热线:400-998-6158

点击此处免费预约试听课程»

常见问题
学习资讯
学习资讯

5个Python概念新手必须了解!

5个Python概念新手*了解!

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()。

学校联系方式

更多培训课程,学习资讯,课程优惠等学校信息,请进入 上海松江区Web培训上海青浦区Python培训上海奉贤区Linux云计算培训崇明区IT培训 网站详细了解,免费咨询电话:400-998-6158

相关课程