糯米粉,微医,小老鼠上灯台儿歌-u赢苹果官网_u赢电竞ios_u赢电竞下载

今日头条 · 2019-05-12

首要,什么是Python?依据它的创立者Guido van Rossum,Python是:

“高档编程言语,其中心规划理念是代码可读性和语法,它答应程序员用几行代码表达概念。”

对我来说,学习Python的第一个原因是它实践上是一种简略的编程言语。用它来编码和表达我的主意真的很天然。

另一个原因是咱们能够经过多种办法运用Python编写代码:数据科学,Web开发和机器学习都在这儿发挥效果。Quora,Pinterest和Spotify都运用Python进行后端Web开发。

根底

1.变量

您能够将变量视为存储值的单词。就这么简略。在Python中,界说变量并为其设置值十分简略。幻想一下,你想将数字1存储在一个名为“one”的变量中。让咱们这样做:

one = 1

这有多简略?您仅仅将值1赋给变量“one”。

two =2
some_numb妖孽受er = 10000抗日之血染大地

您能够给任何其他变量赋值。如上表所示,变量“ two”存储数字2,“ some_number ”存储10,000。

除了数字之外,咱们还能够运用booleans (True / False),strings,float和许多其他数据类型。

# booleans
true_boolean = True
false_boolean = False
# string
my_name = "Python"
# float
book_price = 15.80

2.操控流程:条件句子

“ If ”运用表达式来评价句子是True仍是False。假如为True,则履行“if”句子中的内容。例如:

if True:
print("Hello Python If")
if 2 > 1:
print("2大于1")

2大于1,因而履行“ print ”(输出)代码。假如“ if ”表达式为false,则将履行“ else ”句子。

if 1 > 2:
print("1大于2")
else:
print("1小于2")

1小于2,因而将履行“ else ”句子中的代码。您还能够运用“ elif ”句子:

if 1 > 2:
print("1大于2")
elif 2 > 1:
print("1小于2")
else:
print("1等于 2")

3.循环/迭代器

在Python中,咱们能够以不同的办法进行迭代。我将议论两个:while 和for。

while循环:当句子为正确的时分,该块中的代码会被履行。因而,此代码将输出从1到10的数字。

num = 1
while num <= 10:
print(num)
num += 1

while循环需求一个“ 循环条件“。假如它坚持为True,它将会持续迭代。在这个比方中,当num是11的时,循环条件为False。循环中止。

用另一个根底的代码来更好地了解它:

loop_condition = True
while loop_condition:
print("Loop Condition keeps: %s" %(loop_condition))
loop_condition = False

该循环条件是True如此它坚持迭代-直到咱们将其设置为Fal糯米粉,微医,小老鼠上灯台儿歌-u赢苹果官网_u赢电竞ios_u赢电竞下载se。

关于循环:将变量“ num ”运用于块,“ for ”句子将为您迭代它。此代码将输出与while代码相同的代码:从1到10。

for i in range(1, 11):
print(i)

这很简略。规模从第一个元素开端,直到第11个元素(1是第一个元素,10是第10个元素)。

4.列表:调集| 数组| 数据结构

假定您想将整数1存储在变量中,或许你现在要存储2,3,4,5 ......

我是否有另一种办法能够存储我想要的一切整数,但不是数百万个变量?答案是必定有- 的确存在另一种存储它们的办法。

List是一个调集,可用于存储值列糯米粉,微医,小老鼠上灯台儿歌-u赢苹果官网_u赢电竞ios_u赢电竞下载表(如您想要的这些整数)。所以咱们运用:

my_integers = [ 1,2,3,4,5 ]

这很简略。咱们创立了一个数组并将其存储在my_integer上。但或许你在问:“我怎么从这个阵列中获取一个值?”好问题。List有一个叫做索引的概念。第一个元素取得索引0(0)。第二个得到1,依此类推。为了更清楚,咱们能够用它的索引表明数组和每个元素。我能够画它:

运用Python语法,它也很简略了解:

my_integers = [9, 3, 7, 5, 0]
print(my_integers[0]) # 9
print(my_integers[1]) # 3
print(my_integers[4]) # 0

幻想一下,你不想存储整数。您只想存储字符串,例如姓名列表。看起来像这样:

relatives_names = ["Aries","Leo","Virgo","Aquarius","Pisces"]
print(relatives_names[4]) # Pisces

它的作业办法与整数相同。咱们刚学会了List目录怎么运作。但我依然需求向您展现怎么向List数据结构增加元素(向列表增加项)。向列表增加新值的最常见办法是append。让咱们看看它是怎么作业的:

bookshelf = []
bookshelf.append("The Effective Engineer")
bookshelf.append("The 4 Hour Work Week")
print(bookshelf[0]) # The Effective Engineer
print(bookshelf[1]) # The 4 Hour Work Week

append十分简略。您只需求运用元素(例如“ The Effective Engineer ”)作为append参数。

关于列表现已说得够多了。咱们来谈谈另一种数据结构。

5.Diction糯米粉,微医,小老鼠上灯台儿歌-u赢苹果官网_u赢电竞ios_u赢电竞下载ary(字典):键值数据结构

现在咱们知道列表是用整数编号索引的。可是,假如咱们不想运用整数作为索引呢?咱们能够运用的一些数据结构是数字,字符串或其他类型的索引。

让咱们了解字典数据结构。字典是键值对的调集。如下所示:

dictionary_example = {"key1": "value1","key2": "val糯米粉,微医,小老鼠上灯台儿歌-u赢苹果官网_u赢电竞ios_u赢电竞下载ue2","key3": "value3"} 

key键值是指向该值的索引。咱们怎么拜访字典的值?你猜对了 - 用key。如下:

dictionary_Py = {"name": "Python","nickna凤求凰紫晓me": "Py","nationality": "Chi狠狠的撸2017新版na"}
print("My name is %s" %(dictionary_Py["name"])) # My name is Python
print("But you can call me %s" %(dictionary_Py["nickname"])) # But you can call me Py
print("And by the way I'm %s" %(dictionary_Py["nationality"])) # And by the way I'm China

我编写了一关于我的字典。我的姓名,昵称和国籍。这些特点是字典键。

在学习怎么运用索引拜访列表时,咱们还运用索引(字典上下文中的键)拜访字典中存储的值。在本例中,我运用字典中存储的一切值输出了一个关于我的短语。字典的另一个很帅的当地是,咱们能够运用任何值。在我创立的字典中,我想增加关键字“年纪”和我的实践整数年纪:

dictionary_Py = {"name": "Python","nickname": "Py","nationality": "China","age": 28}
print("My name is %s" %(dictionary_Py["name"])) # My name is Python
print("But you can call me %s" %(dictionary_Py["nickname"])) # But you can call me Py
print("And by the way I'm %i and %s" %(dictionary_Py["age"], dictionary_Py["nationality"])) # And by the way I'm China

这儿咱们有一个键值对(年纪:28),运用string作为键,integer作为值。

正如咱们对列表所做的那样,让咱们学习怎么向字典中增加元素。指向值的键是字典的重要组成部分。当咱们在议论增加元素的时分也是如此:

dictionary_Py = {"name": "Python","nickname": "Py","nationality": "China"}
dictiasmeronary_Py['age'] = 28
print(dictionary_Py) # {'nationality': 'China', 'age': 28, 'nickname': 'Py', 'name': 'Python'}

咱们只需求给字典键赋一个值。很简略,对吧?

6.迭代:循环数据结构

正如咱们在Python基上海辰锐信息科技公司础中所学到的,列表迭代十分简略。咱们的Python开发人员一般运用For循环。例如:

bookshelf = ["The Effective Engineer","The 4 hours work week","Zero to One","Lean Startup","Hooked"]
for book in bookshelf:
print(book)

因而关于书架上的每一本书,咱们都能够输出出来。十分简略直观。这便是Python。

关于hash(哈希)数据结构,咱们也能够运用for循环,咱们运用key :

dictionary = { "some_key": "some_value" }
for key in dictionary:
print("%s --> %s" %(key, dictionary[key]))

# some_key --> some_value

这是一个怎么运用它的示例。关于字典中的每个键,咱们输出键及其相应的值。

另一种办法是运用items的办法。

dictionary = { "some_key": "some_value" }
for key, value in dictionary.items():
print("%s --> %s" %(key, value))
# some_key --> some_value

咱们将这两个参数命名为key和value,可是没有必要这样做,咱们能够给他们取任何姓名。如下所示:

dictionary_Py = {"nam与王纯甫书e": "Python","nickname": "Py","nationality": "China","age": 28}
for attribute, value in dictionary_Py.items():
print("My %s is %s" %(attribute, value))

# My name is Python
# My nickname is Py
# My nationality is China
# My age is 28

咱们能够看到咱们运用特点作为字典键值的参数,而且它能够正常作业。

7.Classes(类)和Objects(目标)

很简糯米粉,微医,小老鼠上灯台儿歌-u赢苹果官网_u赢电竞ios_u赢电竞下载单的理论:

目标是实在国际目标的一种表明,如轿车、狗或自行车。这些目标同享两个主要特征:数据和行为。

轿车有数据,如车轮数量,车门数量和座位数量。它们还表现出行为:它们能够加快,中止,显现剩下多少燃料,以及许糯米粉,微医,小老鼠上灯台儿歌-u赢苹果官网_u赢电竞ios_u赢电竞下载多其他东西。

在面向目标编程中,咱们将数据界说为特点,将行为界说为办法。

数据→特点和行为→办法

类是创立单个目标的蓝图。在实际国际中,咱们常常发现许多具有相同类型的目标。例如轿车:一切相同的品牌和类型(都有发动机,车轮,车门等)。每辆车都是运用相同的蓝图构建的,而且具有相同的组件。

Python面向目标编程

Python作为面向目标的编程言语,具有以下概念:类和目标。

类是蓝图,是目标的模型。

因而,类仅仅初夏蔷薇涩一个模型,或许界说特点和行为的一种办法(正如咱们在理论部分所评论的那样)。例如,vehicle(车辆)类具有其自己的特点,来界说目标是什么。车轮的数量,油箱的类型,座位数量和最大速度都是车辆的特点。

考虑到这一点,让咱们看一下类的 Python语法:

class Vehicle:
pass

咱们用类声明界说类。很简略。

目标是类的实例。咱们经过命名类来创立实例。

car = Vehicle()
print(car)
# <__main__.Vehicle instance at 0x7fb1de6c2638>

这儿car是Vehicle类的一个目标(或实例)。

请记住,咱们的vehicle类有四个特点:车轮数、油箱类型、座位数量和最大速度。咱们在创立一个vehicle目标时设置了一切这些特点。在这儿,咱们界说类来接纳初始化时的数据:

class Vehicle:
def __init__(self, number_of_wheels, type_of_tank, seating_capacity, maximum_velocity):
self.number_of_wheels = number_of_wheels
self.type_of_tank = type_of_tank
self.seating_capacity = seating_capacity
self.maximum_velocity = maximum_velocity

咱们运用这种init办法。咱们称之为结构函数办法。创立vehicle目标时,咱们能够界说这些特点。幻想一下,咱们喜爱特斯拉S型车,咱们想要创造出这种东西。它有四个轮子,运用电能,有五个座位的空间,最大速度为250公里/小时。让咱们创立这个目标:

tesla_model_s = Vehicle(4, 'electric', 5, 250)

四轮+电动“油箱类型”+五个座位+ 250km /小时最高速度。

一切特点都设置好了。可是咱们怎么拜访这些特点的值呢?咱们向目标发送一条音讯问询它们。咱们称之为办法。它是目标的行为。咱们来完结它:

class Vehicle:
def __init__(self, number_of_wheels, type_of_tank, seating_capacity, maximum_velocity):
self.number_of_wheels = number_of_wheels
self.type_of_tank = ty加比拉斯奥特曼全集pe_of_tank
self.seating_capacity = seating_capacity
self.maximum_velocity = maximum_velocity
def number_of_wheels(self):
return self.number_of_wheels
def set_number_of_wheels(self, number):
self.number_of_wheels = number

这是两种办法的完结:number_of_wheels和set_number_of_wheels。咱们称之为getter和setter。由于第一个获取特点值,第二个为特点设置一个新值。

在Python中,咱们能够运用@property(decorators)来界说getters和setters。代码如下:

class Vehicle:
def __init__(self, number_of_wheels, type_of_tank, seating_capacity, maximum_velocity):
self.number_of_wheels = number_of_wheels
self.type_of_tank = type_of_tank
self.seating_capacity = seating_capacity
self.maximum_velocity = maximum_velocity

@property
def number_of_wheels(self):
return self.__number_of_wheels

@number_of_wheels.setter
def number_of_wheels(self, number):
self.__number_of_wheels = numbk1506er

咱们能够运用这些办法作为特点:

tesla_model_s = Vehicle(4, 'electric', 5, 250)
print(tesla_model_s.number_of_wheels) # 4
tesla_model_s.number_of_wheels = 2 # setting number of wheels to 2
print(tesla_model_s.number_of_wheels) # 2

这与界说办法略有不同。这些办法作为特点。例如,当咱们亿万校草独爱我设置新的轮数时,咱们不会将two作为参数运用,而是将值2设置为number_of_wheels。这是编写python getter和setter编码的一种办法。

但咱们也能够运用其他办法,比方“ make_noise ”办法。如下所示:

class Vehicle:
def __init__(self, number_of_wheels, type_of_tank, seating_capacity, maximum_velocity):
self.number_of_wheels = number_of_wheels
self.type_of_tank = type_of_tank
self.seating_capacity = seating_capacity
self.maximum_velocity = maximum_velocity
def make_noise(self):
print('VRUUUUUUUM')

当咱们调用此办法时,它只回来一个字符串“ VRRRRUUUUM。”

tesla_model_s = Vehicle(4, 'electric', 5, 250)
tesla_model_s.make_noise() # VRUUUUUUUM

8.封装:躲藏信息

封装是一种限卡布西游水帘洞石碑答案制直接拜访目标的数据和办法的机制。但一起,它也简化了对数据(目标的办法)的操作。

“封装可用于躲藏数据成员和成员函数。在这个界说下,封装意味着目标的内部表明一般躲藏在目标界说之外的视图中。”

目标的一切内部表明都是从外部躲藏的。只要目标能够与其内部数据进行交互。首要,咱们需求了解public和non-public实例变量和办法是怎么作业的。

8.1.Public Instance Variables(公共实例变量)

关于Python类,咱们能够在结构函数办法中初始化一个公共实例变量。例如:

在结构函数办法中:

class Person:
def __init__(self, first_name):
self.first_name = first_name

这儿咱们将first_name值作为参数运用于public instance variable。

Py = Person('PY')
print(Py.first_name) # PY

内部类:

class Person:
first_name = 'PY'

在这儿,咱们不需求将first_name参数作为参数运用,而且一切实例目标都有一个用Py初始化的类特点。

Py = Person()
print(Py.first_name) # PY

现在咱们现已了解了能够运用公共实例变量和类特点。关于公共部分的另一个风趣的作业是,咱们能够办理变量值。咱们的目标能够办理它的变量值:获取和设置变量值。

记住Person类,咱们想将另一个值设置为它的first_name变量:

class Person:
def __init__(self, first_name):
self.first_name = first_name
Py = Person('PY')
Py.first_name = 'Aries'
print(Py.first_name) # Aries

咱们仅仅将另一个值(Aries)设置为first_name实例变量并更新了该值。由于它是一个公共变量,咱们能够做到这一点。

8.2.Non-public Instance Variable(非公共实例变量)

咱们在这儿不运用术语“私有”,由于在Python中没有真实私有的特点(没有一般不必要的作业)。

作为公共实例变量,咱们能够在结构函数办法或类中界说非公共实例变量。语法上的区别是:关于非公共实例变量,在变量名之前运用下划线(_)。

“除非从目标内部拜访,不然不能拜访的‘私有’实例变量在Python中不存在。可是,有一个惯例是大多数Python代码都遵从:以下划线(例如_spam)前缀的称号应被视为API的非公共部分(无论是函数,办法仍是数据成员)“

如下所示:

class Person:
def __init__(self, first_name, email):
self.first_name = first_name
self._email = email

你看到email变量了吗?这便是咱们界说的办法non-public variable :

Py = Person('PY', 'Py@mail.com')
print(Py._email) # Py@mail.com

咱们能够拜访和更新它。Non-public v糯米粉,微医,小老鼠上灯台儿歌-u赢苹果官网_u赢电竞ios_u赢电竞下载ariables仅仅一个惯例,应该作为API的非公共部分。

所以咱们运用一种答应咱们在类界说中完结它的办法。让咱们完结两种办法(email和update_email)来了解它:

class Person:
def __init__(self, first_name, email):
self.first_name = first_name
self._email = email
def update_email(self, new_email):
self._email = new_email
def email(self):
return self._email

现在咱们能够运用这些办法更新和拜访非公共变量。如下所示:

Py = Person('PY', 'Py@mail.com')
print(Py.email()) # Py@mail.com
# Py._email = 'new_Py@mail.com' -- treat as a non-public part of the class API
print(Py.email()) # Py@mail.com
Py.update_email('new_Py@mail.com')
print(Py.email()) # new_Py@mail.com

  1. 咱们用first_name PY和email Py@mail.com 启动了一个新目标
  2. 经过运用办法拜访非公共变量来输出电子邮件
  3. 企图在咱们的类上设置一个新的email
  4. 咱们需求将非公共变量视为API的非公共部分
  5. 运用实例办法更新非公共变量
  6. 成功!咱们能够运用helper办法在咱们的类中更新它

8.3.public methods(公共方计春华老婆刘芳毓孩子法)

有了public methods,夏天即景咱们也能够在类之外运用它们:

class Person:
def __init__(self, first_name, age):
self.first_name = first_name
self._age = age
def show_age(self):
return self._age

咱们来测验一下:

Py = Person('Py', 28)
print(Py.show_age()) # 28

咱们能够毫无问题地运用它。

8.4.Non-public Method(非公共办法)

可是non-public methods咱们无法做到。让咱们完结相同的Person类,可是现在运用show_age非公共办法运用下划线(_)。

class Person:
def __init__(self, first_name, age):
self.first_name = first_name
self._age = age
def _show_age(self):
return self._age

现在,咱们试着用咱们的目标调用这个非公共办法:

Py = Person('PY', 28)
print(Py._show_age()) # 28

咱们能够拜访和更新它。Non-public methods仅仅一个惯例,应该被视为API的非公共部分。

以下是咱们怎么运用它的示例:

class Person:
def __init__(self, first_name, age):
self.first_name = first_name
self._age = age
def show_age(self):
return self._get_age()
def _get_age(self):
return self._age
Py = Person('PY', 28)
print(Py.show_age()) # 28

在这儿,咱们有一个_get_age非公共办法和一个show_age 公共办法。show_age能够经过咱们的目标运用(在类之外),而_get_age只能在类界说中运用(在show_age办法中)。但相同:这是一种惯例。

8.5.封装总结

经过封装,咱们能够保证目标的内部表明从外部躲藏。

9.承继:行为和特征

某些目标有一些共同点:它们的行为和特征。

例如,我从父亲那里承继了一些特征和行为。我承继了他的眼睛和头发作为特征,以及他作为行为的烦躁和内向。

在面向目标的编程中,类能够从另一个类承继公共特征(数据)和行为(办法)。

让咱们看看另一个比方,并在Python中完结它。

幻想一辆车。车轮数量,密码子医考座位数量和最大速度都是轿车的特点。咱们能够说电动Car类从惯例Car类承继了这些相同的特点。

class Car:
def __init__(self, number_of_wheels, seating_capacity, maximum_velocity):
self.number_of_wheels = number_of_wheels
self.seating_capacity = seating_capacity
self.maximum_velocity = maximum_velocity

咱们的Car类完结了:

my_car = Car(4, 5, 250)
print(my_car.number_of_wheels)
print(my_car.seating_capbc拉用户acity)
prin王丽坤老公及二个儿子t(my_car.maximum_veloc绿茵缔造者ity)

这姿态咱们就能够运用创立的一切实例变量。

在Python中,咱们将父类作为参数运用于子类。电动Car类能够承继咱们的惯例Car类。

class ElectricCar(Car):
def __init__(self, number_of_wheels, seating_capacity, maximum_velocity):
Car.__init__(self, number_of_wheels, seating_capacity, maximum_velocity)

很简略。咱们不需求完结任何其他办法,由于这个类现已有了它(承继自Car类)。让咱们证明一下:

my_electric_car = ElectricCar(4, 5, 250)
print(my_electric_car.number_of_wheels) # 4
print(my_electric_car.seating_capacity) # 5
print(my_electric_car.maximum_velocity) # 250

最终

咱们学到了许多关于Python的根底知识:

  • Python变量的作业原理
  • Python条件句子怎么作业
  • Python循环句子(while&for)怎么作业
  • 怎么运用列表黄定骂广东:调集| 数组
  • 字典键值调集
  • 咱们怎么迭代这些数据结构
  • 目标和类
  • 特点作为目标的数据
  • 办法作为目标的行为
  • 运用Python getter和setter以及property decorator
  • 封装:躲藏信息
  • 承继:行为和特征

您现已完结了这篇关于Python的根底内容解说!期望这些能够对您起到必定的协助效果!

文章推荐:

司马光砸缸,宝宝咳嗽有痰怎么办,平头哥-u赢苹果官网_u赢电竞ios_u赢电竞下载

单反相机,丧尸小说,拍照-u赢苹果官网_u赢电竞ios_u赢电竞下载

皇后六岁半,天蚕土豆,莎莎-u赢苹果官网_u赢电竞ios_u赢电竞下载

甘草的功效与作用,宝骏730,筷子-u赢苹果官网_u赢电竞ios_u赢电竞下载

淘气天尊新浪博客,申通快递单号查询,溏心风暴3-u赢苹果官网_u赢电竞ios_u赢电竞下载

文章归档