南京达内JAVA培训学校 (未认证机构)

软件测试专修班、Java开发专修班

14

全部课程

23697

人气

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

Python是较容易学习的编程语言,其语法近似英语。通常,初学者只会遇到一些小麻烦,如强制缩进、在函数中使用self等。然而,当开始阅读、复制和编辑他人代码时,麻烦就接踵而至了。

这里,我将解释五个关于Python的概念,这些概念将有助于初学者修改他人代码。他们可以自己编写Python代码来解决问题,然而在阅读他人代码时往往会遇到问题。以下是帮助大家好地理解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

3

4

5

    6

**kwargs 例:

def fish_counter(** kwargs):<字体>

打印(kwargs)<字体>

<字体>

fish_counter(鲑鱼= 10,鳟鱼= 30,冶炼= 10,大blue = 52)

输出:

$ python dzone.py

{ '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

[9,16,25,36 ]

您可以将过滤器附加到列表理解的末尾以过滤出输入。例如,要仅对偶数取平方,请使用以下过滤器:

def square_it(* args):<字体>

返回[ NUM ** 2 为 NUM 在 ARGS 如果 NUM 2 == 0 ] <字体>

<字体>

打印(square_it(3,4,5,6))<字体>

输出:

$ python dzone.py

[ 16、36 ]

列表理解功能不会在for 循环中添加任何特殊功能。人们使用列表推导,是因为它们较短,并且一旦您习惯了语法,就可以使代码易于阅读。有些人可能会过度使用列表理解,并使代码难以阅读。请注意这一点,因为将卷积列表与多个嵌套进行卷积并不是较佳实践。

如果您刚开始使用Python并看到for 一行循环,则可以在Internet上搜索列表推导并查看以下三个组件的语法:

表达。

对于循环。

过滤。

3. F字符串可以替换.format()

Python非常适合字符串操作。您可能会至少看到3或4种将变量插入字符串的技术。大多数人笨拙。一个很酷。

字符串串联

很久以前,您可能已将变量插入具有类似以下代码的字符串中:

animal = “ dogs” <字体>

人口= 3 <字体>

city = “ Palo Alto” <字体>

打印(“有” + STR(人口)+ “” + 动物 + 在“” + 城市 + “” )

输出:

$ python dzone.py

有3个狗在帕洛阿尔托。

这很难阅读,容易出错。即使语法高亮显示,也很容易错过空格。

字符串替换

字符串替换可以帮助减少错误。

打印(“字符串替换格式示例”)<字体>

人口= 3 <字体>

animal = 'dogs' <字体>

city = 'Palo Alto' <字体>

my_string = 's中有ss' (人口,动物,城市)<字体>

打印(my_string)<字体>

输出量

字符串替换格式示例

有3个狗在帕洛阿尔托

使用字符串替换的在线例子可在这里 的文件中 format_example.py

字串格式

好的方法是使用.format()并制作如下字符串:

animal = “ dogs” <字体>

人口= 3 <字体>

city = “ Palo Alto” <字体>

<字体>

打印(“ {}中有{} {}”。格式(人口,动物,城市))

$ python dzone.py

有3个狗在帕洛阿尔托

尽管.format在字符串连接方面有了很大的改进,但仍然有些笨拙。

F弦

首先,升级到Python 3.6或3.7。现在,您可以使用f字符串。

打印(f“ {city}中有{人口} {动物}”)

 

$ python3 dzone.py

有3个狗在帕洛阿尔托

4. Lambda函数是匿名的

Python lambda函数是快捷方式。尽管可以将它们分配给变量,但类似于普通函数,但使用以下语法通常将它们用作匿名函数。

打印((拉姆达 NUM1,NUM2:NUM1 + NUM2)(4,6))

输出:

$ python3 dzone.py

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请求可以做到这一点

#...

通过

该import 行允许您使用预制的装饰器。在这种情况下,您要了解@require_http_methods 为您创建的名为的功能添加了其他功能my_view()。

较后,在这里告诉大家学习Python选择适合的培训才是重要的。保质量,求真实,能学会,可就业,拿高薪的培训才是较佳选项,而达内python培训(班)是你较佳的选择!