当前位置: 首页 > 科技观察

从零到英雄,掌握Python

时间:2023-03-16 14:29:58 科技观察

第一个问题,什么是Python?按照Python之父GuidovanRossum的说法,Python是:一种高级编程语言,其核心设计理念是代码可读性和语法,允许程序员用很少的代码表达自己的想法。对我来说,学习Python的首要原因是它是一种可以优雅地完成编程的语言。它使编写代码和实现我的想法变得简单自然。另一个原因是我们可以在很多地方使用Python:数据科学、Web开发和机器学习都可以使用Python进行开发。Quora、Pinterest和Spotify都使用Python进行后端Web开发。所以让我们学习Python。Python基础1.变量你可以把变量想象成一个用来存储值的词。让我们看一个例子。在Python中定义变量并为其赋值很容易。假设您想将数字1存储在变量“one”中,让我们试试看:one=1非常简单,对吧?您只需要将值1分配给变量“one”。two=2some_number=10000如果需要,您可以将任何值分配给任何其他变量。从上面可以看出,变量“two”存储的是整型变量2,变量“some_number”存储的是10000。除了整数,我们还可以使用布尔(True/Flase)、字符串、浮点数等数据类型.#booleantrue_boolean=Truefalse_boolean=False#stringmy_name="LeandroTk"#floatbook_price=15.802。控制流程:条件语句“If”使用表达式判断一个语句是True还是False,如果为True,则执行if中的代码,示例如下:ifTrue:print("HelloPythonIf")if2>1:print("2isgreaterthan1")2大于1,因此执行打印代码。当“if”中的表达式为假时,“else”语句将被执行。if1>2:print("1isgreaterthan2")else:print("1isnotgreaterthan2")1小于2,所以执行else里面的代码。您还可以使用“elif”语句:if1>2:print("1isgreaterthan2")elif2>1:print("1isnotgreaterthan2")else:print("1isequalto2")3。循环和迭代在Python中,我们可以使用不同形式的迭代。我会说一会儿和一会儿。While循环:while内的代码块在语句为True时执行。所以下面的代码将打印1到10。num=1whilenum<=10:print(num)num+=1while循环需要一个循环条件,如果条件一直为True,就会一直迭代,当num的值为11时,循环条件为false。另一段代码可以帮助你更好地理解while语句的用法:loop_condition=Truewhileloop_condition:print("LoopConditionkeeps:%s"%(loop_condition))loop_condition=False循环条件为True所以它会迭代直到它为False.For循环:您可以在代码块上应用变量“num”,“for”语句将为您迭代它。此代码将打印与while中相同的内容:从1到10。foriinrange(1,11):print(i)看到了吗?这太简单了。i的范围从1开始到第11个元素(10为第10个元素)List:collection|数组|数据结构如果你想将整数1存储在一个变量中,但你还想存储2和3,4,5...而不是使用数百个变量,我是否有另一种方法来存储我想要的整数店铺?你猜对了,确实有另一种方法来存储它们。列表是一个集合,可以存储值的列表(就像你想存储的那样),所以我们使用它:my_integers=[1,2,3,4,5]真的很简单。我们创建一个名为my_integer的数组并将数据存储在其中。也许你会问:“如何获取数组中的值?”好问题。列表有一个叫做索引的概念。下表的第一个元素是索引0(0)。第二个的index是1,以此类推,你应该明白了。为了更简洁,我们可以用索引来表示数组元素。我画的:使用Python语法,也很容易理解:my_integers=[5,7,1,3,4]print(my_integers[0])#5print(my_integers[1])#7print(my_integers[4])#4如果你不想存储整数。您只想存储字符串,例如您亲戚姓名的列表。我的是这样的:relatives_names=["Toshiaki","Juliana","Yuji","Bruno","Kaio"]print(relatives_names[4])#Kaio它的原理和存储整数一样,非常友好。我们只学习了列表的索引是如何工作的,我还需要告诉你如何向列表数据结构添加一个元素(向列表添加一个项目)。向列表添加新数据的最常见方法是串联。下面来看看它的使用方法:bookshelf=[]bookshelf.append("TheEffectiveEngineer")bookshelf.append("The4HourWorkWeek")print(bookshelf[0])#TheEffectiveEngineerprint(bookshelf[1])#The4HourWorkW拼接超级棒很简单,您只需要传递一个元素(例如“有效机器”)作为连接参数。好了,关于列表就说完了,我们再看看其他的数据结构。字典:Key-Value数据结构现在我们知道List是整数的索引集合。但是如果我们不想使用整数作为索引呢?我们可以使用一些其他的数据结构,比如数字、字符串或者其他类型的索引。让我们了解字典数据结构。字典是键值对的集合。字典看起来像这样:dictionary_example={"key1":"value1","key2":"value2","key3":"value3"}键是指向值的索引。我们如何访问字典中的值呢?你猜对了,使用key。让我们试试:dictionary_tk={"name":"Leandro","nickname":"Tk","nationality":"Brazilian"}print("Mynameis%s"%(dictionary_tk["name"]))#MynameisLeandroprint("Butyocancallme%s"%(dictionary_tk["nickname"]))#ButyocancallmeTkprint("AndbythewayI'm%s"%(dictionary_tk["nationality"]))#AndbythewayI'mBrazilianWehaveakey(age)value(24),使用字符串作为键,使用整数作为值。我创建了一本关于我的字典,其中包含我的名字、昵称和国籍。这些属性是字典中的键。就像我们学习了使用索引来访问列表一样,我们也使用索引(key就是字典中的索引)来访问字典中存储的值。正如我们对列表所做的那样,让我们??学习如何向字典添加元素。字典主要包含指向值的键。当我们添加元素时也是如此:dictionary_tk={"name":"Leandro","nickname":"Tk","nationality":"Brazilian","age":24}print("Mynameis%s"%(dictionary_tk["name"]))#MynameisLeandroprint("Butyoucancallme%s"%(dictionary_tk["nickname"]))#ButyoucancallmeTkprint("AndbythewayI'm%iand%s"%(dictionary_tk["age"],dictionary_tk[“国籍”]))#AndbythewayI'mBrazilian我们只需要将字典中的一个键指向一个值。没什么难的,对吧???迭代:遍历数据结构就像我们在Python基础知识中学到的那样,列表迭代很容易。我们Python开发人员通常使用For循环。让我们试试:bookshelf=["TheEffectiveEngineer","The4hoursworkweek","ZerotoOne","LeanStartup","Hooked"]forbookinbookshelf:print(book)对于书架上的每一本书,我们打印(可以做任何事情)到控制台。它超级简单直观。这就是Python的美妙之处。对于hash数据结构,我们也可以使用for循环,但是需要使用key:dictionary={"some_key":"some_value"}forkeyindictionary:print("%s-->%s"%(key,dictionary[key]))#some_key-->some_value以上是如何在字典中使用For循环的示例。对于字典中的每个键,我们打印出键和键对应的值。另一种方法是使用iteritems方法。dictionary={"some_key":"some_value"}forkey,valueindictionary.items():print("%s-->%s"%(key,value))#some_key-->some_value我们将这两个参数命名为key和价值,但这不是必需的。我们可以随意命名。我们来看一下:dictionary_tk={"name":"Leandro","nickname":"Tk","nationality":"Brazilian","age":24}forattribute,valueindictionary_tk.items():print("My%sis%s"%(attribute,value))#MynameisLeandro#MynicknameisTk#MynationalityisBrazilian#Myageis24可以看到我们使用attribute作为字典中key的参数,和使用key命名的效果是一样的。棒极了!类和对象一些理论:对象是现实世界实体的表示,如汽车、狗或自行车。这些对象有两个主要特征:数据和行为。汽车有数据,例如车轮数量、车门数量和座位空间,它们可以表现:它们可以加速、停止、显示剩余的燃料量,以及许多其他事情。我们将数据视为面向对象编程中的属性和行为。也表示为:数据→属性和行为→方法和类是创建单个对象的蓝图。在现实世界中,我们经常会发现许多相同类型的对象。例如,汽车。所有汽车都具有相同的结构和型号(都有发动机、车轮、车门等)。每辆汽车都是根据同一套蓝图构建的,并具有相同的组件。Python面向对象编程模式:ONPython作为一种面向对象的编程语言,有这样的概念:类和对象。类是蓝图,是对象的模型。那么,一个类就是一个模型,或者是一种定义属性和行为的方法(正如我们在理论部分讨论的那样)。例如,一个Vehicle类有自己的属性来定义这个对象是什么类型的车辆。汽车的属性是车轮数量、动力源类型、座位容量和最高速度。考虑到这一点,让我们看一下Python类的语法:classVehicle:pass在上面的代码中,我们使用class语句来定义一个类。这不是很容易吗?对象是类的实例化,我们可以通过类名来实例化。car=Vehicle()print(car)#<__main__.Vehicleinstanceat0x7fb1de6c2638>这里,car是Vehicle类的对象(或实例化)。请记住,Vehicle类有四个属性:车轮数量、油箱类型、座位容量和最高速度。当我们创建一个新的车辆对象时,我们设置所有的属性。所以在这里,我们定义了一个初始化时接受参数的类:classVehicle:def__init__(self,number_of_wheels,type_of_tank,seating_capacity,maximum_velocity):self.number_of_wheels=number_of_wheelsself.type_of_tank=type_of_tankself.sityeating_capacity=seating_maximum_velocity_self。方法。我们称之为构造函数。所以当我们创建一个车辆对象时,我们可以定义这些属性。假设我们喜欢TeslaModelS,所以我们想要创建一个这种类型的对象。它有四个轮子,靠电力运行,可容纳五个人,最高时速可达250公里/小时(155英里/小时)。我们开始创建这样一个对象:tesla_model_s=Vehicle(4,'electric',5,250)四个轮子+电能+五个座位+***时速250公里。