如果您今天要学习一门新语言,那么Python是其中的一种选择。
本文适用于那些已经具有一定编程经验并且只想过渡到Python的人尽快。如果您绝对没有编程经验,我们建议使用这些Python教程网站。
所有基本的Python示例都是针对Python 3.x编写的。我们不能保证它们可以在Python 2.x上使用,但是这些概念应该是可移植的。
字符串
正确的字符串操作是每个Python程序员都需要学习的知识。无论您是从事网站开发,游戏开发,数据分析还是其他工作,都涉及字符串。用Python处理字符串有正确的方法和错误的方法。
假设您有两个字符串:
>>>name = "Joel">>>job = "Programmer"
并且假设您要连接(“连接在一起")将两个字符串合而为一。大多数人可能会倾向于这样做:
>>>title = name + " the " + job>>>title>"Joel the Programmer"
但这并不是Python语言。有一种更快的方法来处理字符串,从而使代码更具可读性。最好使用 format()方法:
>>>title = "{} the {}".format(name, job)>>>title>"Joel the Programmer"
{} 是一个占位符,它被 format( )方法。第一个{}被name参数替换,第二个{}被job参数替换。只要计数匹配,就可以有任意数量的{}和参数。
很好的是,参数不必是字符串。它们可以是可以用字符串表示的任何东西,因此如果您愿意,可以包含一个整数:
>>>age = 28>>>title = "{} the {} of {} years".format(name, job, age)>>>title>"Joel the Programmer of 28 years"
另一个漂亮的Python技巧是 join()方法,该方法需要一个字符串列表,并将它们组合为一个字符串。下面是一个示例:
>>>availability = ["Monday", "Wednesday", "Friday", "Saturday"]>>>result = " - ".join(availability)>>>result>'Monday - Wednesday - Friday - Saturday'
定义的字符串是每个列表项之间的分隔符,并且分隔符仅插入两个项目之间(因此,末尾不会有多余的分隔符)。使用连接方法比手工操作要快得多。
条件
如果没有条件语句,编程将毫无意义。幸运的是,Python中的条件语句很干净,而且很容易缠住你的头。几乎感觉就像在编写伪代码。这就是Python的魅力所在。
与其他所有编程语言一样,比较运算符会得出布尔结果: True 或 False 。以下是Python中所有比较运算符:
>>>x = 10>>>print(x == 10) # True>>>print(x != 10) # False>>>print(x <> 10) # False, same as != operator>>>print(x > 5) # True>>>print(x < 15) # True>>>print(x >= 10) # True>>>print(x <= 10) # True
上面的 == ,!= 和<>运算符用于比较两个变量的值。如果要检查两个变量是否指向相同的确切对象,则需要使用 is 运算符:
>>>a = [1,2,3]>>>b = [1,2,3]>>>c = a>>>print(a == b) # True>>>print(a is b) # False>>>print(a is c) # True
可以在其前面取反布尔值使用不运算符:
>>>a = [1,2,3]>>>b = [1,2,3]>>>if a is not b:>>> # Do something here
>>>x = False>>>if not x:>>> # Do something here
如果您只想检查一个可迭代对象(例如列表或字典)中是否存在值,则最快的方法是使用 in 运算符:
>>>availability = ["Monday", "Tuesday", "Friday"]>>>request = "Saturday">>>if request in availability:>>> print("I'm available on that day!")
您可以使用和和或运算符将多个条件语句组合在一起。如果双方的评估结果均为True,则and运算符的评估结果为True,否则为False。如果任一方的结果为True,则or运算符的结果为True,否则为False。
>>>legs = 8>>>habitat = "Land">>>if legs == 8 and habitat == "Land":>>> species = "Spider"
>>>weather = "Sunny">>>if weather == "Rain" or weather == "Snow":>>> umbrella = True>>>else:>>> umbrella = False
您可以进一步压缩最后一个示例:
>>>weather = "Sunny">>>umbrella = weather == "Rain" or weather == "Snow">>>umbrella>False
Loops
The Python中最基本的循环类型是 while 循环,只要条件语句的评估结果为True,该循环就会不断重复:
>>>i = 0>>>while i < 10:>>> print(i)>>> i = i + 1
这也可以这样构造:
>>>i = 0>>>while True:>>> print(i)>>> if i >= 10:>>> break
break 语句用于立即退出循环。如果您只想跳过当前循环的其余部分并开始下一个迭代,则可以使用继续。
更Python化的方法是将用于循环。 Python中的for循环与在Java相关语言(例如Java或C#)中发现的for循环完全不同。在设计上,这些语言更接近于 foreach 循环。
简而言之,for循环使用遍历可迭代对象(如列表或字典)。在运算符中:
>>>weekdays = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]>>>for day in weekdays:>>> print(day)
for循环从工作日列表的开头开始,将第一项分配给 day 变量,并且第一个循环仅适用于该变量。循环结束后,工作日列表中的下一项将分配给day,然后再次循环。它一直持续到到达工作日列表的末尾。
如果您只想运行X次迭代的循环,Python会为您提供 range()方法目的:
>>># Prints 0,1,2,3,4,5,6,7,8,9>>>for i in range(10):>>> print(i)
当它只有一个参数时,range()从零开始,并逐个递增到该参数值,但仅次于该值。如果提供两个参数,range()将从第一个值开始,然后一个个地递增到第二个值,但会在第二个值短时停止:
>>># Prints 5,6,7,8,9>>>for i in range(5, 10):>>> print(i)
如果要以除一个以外的间隔进行计数一个,您可以提供第三个参数。以下循环与上一个循环完全相同,只是它跳过了两个而不是一个:
>>># Prints 5,7,9>>>for i in range(5, 10, 2):>>> print(i)
如果您来自另一种语言,则可能会注意到遍历可迭代对象不会给您该对象在列表中的索引。索引通常是非Python索引,应避免使用,但如果确实需要索引,则可以使用 enumerate()方法:
>>>weekdays = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]>>>for i, day in enumerate(weekdays):>>> print("{} is weekday {}".format(day, i))
这将导致:
>Monday is weekday 0>Tuesday is weekday 1>Wednesday is weekday 2>Thursday is weekday 3>Friday is weekday 4
为了比较,这不是做到这一点的方法:
>>>i = 0>>>for day in weekdays:>>> print("{} is weekday {}".format(day, i))>>> i = i + 1
字典
字典(或字典)是Python中最重要的数据类型。您将一直使用它们。它们速度快,易于使用,并且可以使您的代码整洁易读。掌握dicts是学习Python的一半。
好消息是您可能已经接触过dicts,但您可能将它们称为哈希表或< strong>哈希图。完全一样:键值对的关联数组。在列表中,您可以使用索引来访问内容;在字典中,您可以使用键来访问内容。
如何声明空字典:
>>>d = {}
如何将字典键分配给值:
>>>d = {}>>>d["one_key"] = 10>>>d["two_key"] = 25>>>d["another_key"] = "Whatever you want"
字典的优点是您可以混合并匹配变量类型。放什么都没关系。为了使字典的初始化更加容易,可以使用以下语法:
>>>d = {>>> "one_key": 10,>>> "two_key": 25,>>> "another_key": "Whatever you want">>>}
要通过键访问字典值:
>>>d["one_key"]>10>>>d["another_key"]>"Whatever you want">>>d["one_key"] + d["two_key"]>35
要遍历字典,请使用如下的for循环:
>>>for key in d:>>> print(key)
要迭代键和值,请使用 items()方法:
>>>for key, value in d.items():>>> print(key, value)
,如果要从字典中删除某项,使用 del 运算符:
>>>del d["one_key"]
同样,字典可用于许多不同的事物,但这是一个简单的示例:将每个美国州映射到其首都。 dict的初始化可能看起来像这样:
>>>capitals = {>>> "Alabama": "Montgomery",>>> "Alaska": "Juneau",>>> "Arizona": "Phoenix",>>> ...>>>}
并且每当需要状态的大写字母时,都可以像这样访问它:
>>>state = "Pennsylvania">>>capitals[state]>"Harrisburg"
继续学习Python:这很值得!
这些只是Python的基本方面,使它与其他大多数语言区分开来。如果您了解我们在本文中介绍的内容,那么您就可以很好地掌握Python。坚持下去,您将很快到达那里。
如果您在跟踪时遇到麻烦,请不要担心。这并不意味着您并不意味着要成为一名程序员。
最重要的是,这应该具有挑战性,但又不应该感到压力。如果是这样,请查看我们在无压力的情况下学习编程的技巧。
Python是否有您不了解的东西?还有其他技巧可与Python新手分享吗?在下面的评论中让我们知道!