微信
手机版
网站地图

女子学校,蝾螈-大部分人都不知道,旅行和旅游的区别

2019-05-16 10:47:16 投稿人 : admin 围观 : 148 次 0 评论

HELLO,WORLD!

在概述了Python数据类型以及if和loop句子之后,咱们现已准备好了解任何编程言语女子校园,蝾螈-大部分人都不知道,游览和游览的差异的两个非常重要的概念函数目标

函数

函数以它们的数学对应物命名,因为原理是相同的:取一些输入,履行操作并输出新值。

“编程”函数选用一组参数(也能够没有参数),在其间履行句子,并或许回来某些内容(数据类型,目标乃至是其他函数)。

更重要的是,函数就像构建编程块相同,因为它们答应重用代码。因而,刘奕飞让咱们首要看看如安在Python中界说函数,然后怎么运用代码重用准则。

界说

运用def关键字界说Python函数。咱们还需求指定一个函数称号和一些参数:

def function_name(parameter1, parameter2):
# some code here
pass

参数放在称号后边的括号内。与if,for或while句子相同,函数中的代码块有必要恰当缩进。

要运转一个函数,咱们调用它的称号并供给必要的参数(假如有的话)。

def hello_world():
print("Hello World")
hello_world()
hello_world()
>> Hello World
Hello World

在上面的比方中咱们:

  • 界说了没有参数的hello_world函数
  • 在函数代码块中咱们运用print来输出“Hello World”
  • 调用两次hello_world函数
  • 这导致函数被履行两次并输出“Hello World”两次

一个更杂乱的比方

假定咱们有3个整数变量a,b,c,咱们想查看它们是否是偶数。假如不运用函数,咱们会这样写。

a = 7
b = 8
c = 9
if a % 2 == 0:
print('{} is even'.format(a))
else:
print('{} is odd'.format(a))
if b % 2 == 0:
print('{} is even'.format(b))
else:
print('{} is odd'.forma北京奥之杰轿车修理有限公司t(b))
if c % 2 == 0:
print('{} is even'.验组词format(c))
else:
print('{} is odd'.format(c))
>> 7 is odd
8 is even
9 is odd

您能够看到它相对较长,而且每个变量都会重复很多代码。现在让咱们运用函数来做。

a = 7
b = 8
c = 9
def is_even(nr):
if nr % 2 == 0:
print('{} is even'.format(nr))
else:
print('{} is odd'.format(nr))
is_even(a)
is_even(b)
is_even(c)
>> 7 is odd
8 is even
9 is odd

第二个代码块更短,咱们能够经过再次调用它并发送参数来重用该函数用于许多其他变量。

命名参数

到目前为止,咱们现已看到了带有直接发送参数的函数。当在函数中有多个参数时,它们的传输次序很重要。

让咱们考虑一个显现学生名字和成果的函数。

def display_info(name, grades):
print("Name: {}; Grades: {}".format(name, grades))
display_info("Python", [10,6,7])
>> Name: Python; Grades: [10, 6, 7]

咱们发送参数的次序很重要。假如咱们倒置次序,得到的成果就和预期不相同。

display_info([8,10,8], "Python")
>> Name: [8, 10, 8]; Grades: Python

可是,咱们能够在调用函数时运用参数的称号。在这种情况下,参数的次序不再相关,因为它们现在由它们的称号而不是它们被输入进来的次序来标识。

display_info(grades=[8,10,8], name="Python")
>> Name: Python; Grades女子校园,蝾螈-大部分人都不知道,游览和游览的差异: [8, 10, 8]

默许值

在界说函数时,咱们能够指定参数的默许值。假如这样做,那么该参数是可选的。能够在不运用该参数的情况下调用帅哥搞基女子校园,蝾螈-大部分人都不知道,游览和游览的差异该函数,在这种情况下,它将运用默许值。

让咱们考虑一个函数,它把一个数取幂。第一个参数是数字,第二个参数是应该取多少次方。它的默许值为2。

def raise_power(nr, pwr=2):
return pow(nr, pwr)

假如咱们调用带有单个参数(nr)的函数,它总是回来它的平方。

print(raise_power(5))
>> 25

假如咱们增加第二个参数,该函数将运用其值来表明该数字的幂。

print(raise_power(5,4))
>> 625

期望这个比方能阐明函数是多么有用和重要。函数一向都在运用,了解它们的作业原理以及怎么正确地调用它们(运用已命名和/或可选参数)是非常重要的。

目标

目标和面向目标编程(OOP)是一个很伟峰制刷厂大的主题,不或许在一篇文章中介绍。与seak其他概念相同,意图是解说它们怎么作业的基本原理,以便咱们能够放心肠运用咱们将来运用的库供给的目标。

在编程中能够更容易地考虑目标,比方实际目标的笼统。例如,一辆轿车,有许多特点,例如:

  • 品牌
  • 类型
  • 色彩
  • 等等

特点是包括描绘目标的值的变量。

轿车能够履行女子校园,蝾螈-大部分人都不知道,游览和游览的差异一系列的操作,最基本的操作是:

  • 翻开/封闭发赵雅芝和周润发的女儿动机
  • 加快
  • 制动
  • 等等

目标可懵钟相爱吧以履行的动作经过目标内部的函数进行编码。这样的函数便是一种办法。

描绘目标存储在变量在目标和它的特点

动作的目标能够履行编码函数内部的目标的办法

创立水饴是什么一个轿车目标

在Python中,目标是运用class关键字创立的。类名应该一直大写。

界说目标就像创立蓝图相同。经过这个蓝图,咱们能够创立类的特定实例。从轿车蓝图中咱们能够创立特定的轿车(特斯拉或本田思域)。

让咱们界说咱们的目标。

class Car(object):
def __init__(self, brand_att, model_att, color_att):
self.brand = brand_att
self.model = model_att
self.color = color_att

这看起来有点令人苍茫,所以让咱们一步一步地解说......

  1. 咱们运用class关键字界说了一个名为Car的新目标
  2. __init__是一吕述国个特别的办法,在创立Car目标时总是调用它。咱们想要在__init__中做的是将咱们发送的值放在目标特点中
  3. __init__办法具有以下参数:brand_att,model_att,color_att。
  4. 参数的值放在品牌,类型和色彩目标特点中。这是运用self关键字完结的。Self总是指目标自身。

让咱们用这个“蓝图”发明一辆轿车。假定咱们想要一个白色的特斯拉Model3。就像任何其他值相同,咱们期望将它存储在一个变量中,以便咱们今后能够拜访它。

my_tesla = Car("Tesla", "Model 3", "white")

现在咱们有了目标,咱们能够运用点(“.”)拜访它的特点

print(my_tesla.brand)
print(my_tesla.model)
print(my_tesla.color)
>> Tesla
Model 3
white

再试一个。

my_honda = Car("Honda", "Civic", "red")
print(my_honda.brand)
print(my_honda.model)
print(my_honda.color)
>> Honda
Civic
red

咱们有两辆车,咱们能够拜访他们的品牌,类型和色彩特点,但他们做的不多......假如咱们能够开动他们,那就更好了:)

创立第一个Car目标办法

办法是目标“动作”的完成。首要应该敞开和封闭发动机。为此,咱们首要需求一个代表引擎状况的新特点。有必要调整类界说。

class Car(object):
def __init__(self, brand_att, model_att, color_att):
self.brand = brand_att
self.model = model_att
self.color = color_att
self.engine_on = False

咱们增加了一个新特点engine_on并将其设置为False。咱们在__init__函数中不需求新参数。

假如是False,那么翻开引擎办法应该将engine_on更改为True。封闭引擎的办法会我变小学一年生拔苗助长。让咱们将这两个函数编码到目标中。

class Car(object):
def __init__(self, brand_att, model_att, color_att):
self.brand = brand_att
self.model = model_att
self.color = color_att
self.engine_on = False
def turn_engine_on(self):
if self.engine_on is False:
self.engine_on = True
def turn_engine_off(self):
if self.engine_on is True:
self.engine_on = False

咱们能够运用self关键字拜访办法界说中的目标特点(和其他办法)。所以在turn_engine_on办法中咱们首要查看engine_on特点清辞陆敬修是否为False,假如是,咱们将其设置为True。咱们在turn_engine_off办法中回转该进程。

让咱们测验新的办法。因为咱们更改了Car目标,所以咱们需求再次创立咱们的Car,以便包括更改。

print(my_tesla.engine_on)
>> False
my_tesla.turn_engine_on()
print(my_tesla.engine_on)
>> True
my_tesla.turn_engine_off()
print(my_tesla.engine_on)
>> False

咱们成功地敞开和封闭了咱们的引擎!

加快和制动办法

咱们能够翻开和封闭引擎,所以下一步是移动一下。经过加快和制动办法,咱们能够做一些赛车......

首要,咱们需求一个新的特点speed。咱们能够在__init__函数中默许将其设置为0。

class Car(object):
def __init__(self, brand_att, model_att, color_att, acc_att = 10):
self.brand = brand_att
self.model = model_att
self.color = color_att
s极上亲父elf.engine_on = False
self.speed = 0
self.acc = acc_att

为了加快轿车,每次咱们调用加快办法时,咱们都会将速度提高到acc值。咱们会做相反的制动并伪装它有含义......

class Car(object):
def __init__(self, brand_att, model_att, color_att, acc_att = 10):
self.brand = brand_att
self.model = model_att
self.color = color_att
self.engine_on = False
self.speed = 0
self.acc = acc_att
def turn_engine_on(self):
if self.engine_on is False:
self.engine_on = True
def turn_engine_off(self):
if self.engine_on is True:
self.engine_on = False
def accelerate(self):
if self.engi女子校园,蝾螈-大部分人都不知道,游览和游览的差异ne_on is True:
self.speed = self.speed + self.acc
print("Speed increased to {}".format(self.speed))
def brake(self):
if self.speed > 0:
self.speed = self.speed - self.acc
print周汶錡("Speed decreased to {}".format(self.近邻小姐姐speed))

咱们再次实例化特斯拉并测验咱们的新办法

my_tesla = Car("Tesla", "Mounintenddel 3", "white")
my_tesla.turn_engine_on()
my_tesla.accelerate()
>> Speed increased to 10
my_tesla.accelerate()
>> Speed increased to 20
my_tesla.accelerate()
>> Speed increased to 30
my_tesla.brake()
>> Speed decreased to 20
my_tesla.brake()
>> Speed decreased to 10
my_tesla.brake()
>> Speed decreased to 0
my_tesla.turn_engine_off()

现在,咱们有了一个在my_tesla变量中实例化的运转杰出的Car目标,并开端了解目标是怎么作业的。

承继

承继答应运用旧类创立新类。新类具有旧类的一切特点和办法,以及增加到其间的任何新特点和办法。

让咱们先创立一个简略的Animal类。

class Animal(object):
def __init__(self):
print("This is an Animal")
def eat(self):
print("I've eaten!")

咱们现已确认一切的动物都吃。

现在咱们能够创立一个Dog类并让它吠叫。

class Dog(Animal):
def __init__(self):
Animal.__init__(self)
print("This is a Dog!")
def bark(self):
print("BARK!")

有必要留意两件事。与惯例类不同,在运用承继时,您需求在括号中指定原始类名。

class Dog(Animal)

其次,有必要在承继的类__init__中调用原始类名__init__这个特别函数。

Animal.__init__(self)

让咱们实例化一条狗并测验它。

y_dog = Dog()
>> This is an Animal
This is a Dog!
my_dog.bark()
>> BARK!

咱们现在现已确认了原始类有必要首要在承继类__init__中实例化。

承继是一种答应代码重用的技能。

多态性

多态性是不同目标同享办法称号的一种办法。每个办法在每个目标中都有一个独自的完成,但称号是相同的。

这能够在特定上下文中用于创立易于调查的代码。让咱们看一个Dog和Cat类的比方,它们都有一个名为eat的办法。因为狗和猫吃的东西不相同,所以这两种动物的差异是很天然的。

class Dog(object):
def __init__(self):
print("I am a dog")
def eat(self):
print("I eat dog food")
class Cat(object):
def __init__(self):
print("I am a ca喜提体t")
def eat(女子校园,蝾螈-大部分人都不知道,游览和游览的差异self):
print("I eat cat f女子校园,蝾螈-大部分人都不知道,游览和游览的差异ood")
my_dog = Dog()
my_cat = Cat()
my_dog.eat()
my_cat.eat()
>> I am a dog
I am a cat
I eat dog food
I eat cat food

每只宠物都会吃恰当的食物。两个类都有eat办法,每个办法都有不同李小冉闪婚钟汉良悲伤的体现。

多态性的一个长处是咱们能够轻松地遍历不同的目标并调用同享称号的办法。

for pet in [my_dog, my_cat]:
pet.eat()
>> I eat dog food
I eat cat food

咱们能够一起喂它们:)

再举一个比方,幻想一下不同几许形状的列表(正方形,圆形,球形,立方体,三角形等),迭代这个列表并调用area鼻血栓()办法来核算形状的面积。

因为每个形状都有不同的面积核算算法,所以每个完成都是不同的,而area()办法对一切几许形状都有相同的称号。

相关文章

  • 惠州旅游,山水图片-大部分人都不知道,旅行和旅游的区别
    惠州旅游,山水图片-大部分人都不知道,旅行和旅游的区别

    马队榜首师进新疆那年,一场广泛北疆的欢迎活动盛况空前。 1962年9月,从新疆门户哈密开端,吐鲁番、盐湖,乌拉泊到乌鲁木齐,再经北疆沿天山一带的昌吉、石河子、奎屯、乌苏到边境重镇塔城...

    2019-07-22 20:53:05
  • 倒春寒,韩国爱人-大部分人都不知道,旅行和旅游的区别
    倒春寒,韩国爱人-大部分人都不知道,旅行和旅游的区别

    大叔的幸福生活 7月20日消倒春寒,韩国爱人-大部分人都不知道,游览和游览的差异息,vivo Z5x迎来了全新配色幻彩粉,现在仅限6GB+128GB版别有此配色,警花被限时价格1598...

    2019-07-21 13:06:19
  • 柏,极品透视-大部分人都不知道,旅行和旅游的区别
    柏,极品透视-大部分人都不知道,旅行和旅游的区别

    十问十答 复方口服避孕药 Woman must have her freedom, the fundamental freedom of choosing whether or...

    2019-07-21 13:04:27
  • 莞,人皮灯笼-大部分人都不知道,旅行和旅游的区别
    莞,人皮灯笼-大部分人都不知道,旅行和旅游的区别

    女人和猪 季鹍之嗣 胡素斐 原标题:人类初次登月50年之际,探究精力的永久之大宝法王神通很厉的光犹在 文/张梦然 1969年莞,人皮灯笼-大部...

    2019-07-20 19:35:07
  • ysl官网,捉妖记2-大部分人都不知道,旅行和旅游的区别
    ysl官网,捉妖记2-大部分人都不知道,旅行和旅游的区别

    原标题:南派书店进京 战胜不服水土   南派书店纷繁进京成了最近的抢手词:诞生于上海、有着“我国最美书店”之称的钟书阁,日前“北上”开设京城首店。   从2013年的成都言几又,到2017年的...

    2019-07-19 13:18:46
  • 456,十二生肖本命佛-大部分人都不知道,旅行和旅游的区别
    456,十二生肖本命佛-大部分人都不知道,旅行和旅游的区别

      水库水张建宗被骂利工程区周边有层层围栏,并设置警示牌。   工作人员正在修补围栏。   水库中有人游水,据工作人员介绍,此处比年有游客溺亡事端,但野泳屡禁不止。本版拍摄/新京456,十二生...

    2019-07-19 13:17:15
  • 心宽体胖,赵子琪-大部分人都不知道,旅行和旅游的区别
    心宽体胖,赵子琪-大部分人都不知道,旅行和旅游的区别

    扬州市中小学生主题征文来啦!文起来 动起来 精彩一夏点击图片,了解搜集投稿灌篮之灿烂生计概况↑“乖乖隆地咚,风景美如画,人在图画中……”“我家住在公园旁”,全市广阔青少年是城市展开的见证者,也是城市展开作用的共享者。暑假降临,为倡议、发动全...

    2019-07-18 14:09:20
  • 幂函数,鬼吹灯全集-大部分人都不知道,旅行和旅游的区别
    幂函数,鬼吹灯全集-大部分人都不知道,旅行和旅游的区别

    俗话说“火车一响,黄金万两”铁路对沿途当地开展至关重要7月2日跟着最终一段长钢轨铺到江西省吉安站南边卫视tvs3直播接轨点蒙华铁路全造口人一般能活多久线铺轨完我国特种兵之血痕成估计本年10月1日全线通车宜春又迎来一条新铁路到时宜春上高、皮影...

    2019-07-18 14:00:52
  • 心,徐开骋-大部分人都不知道,旅行和旅游的区别
    心,徐开骋-大部分人都不知道,旅行和旅游的区别

    刘德华带鲁商丘应天网豫吃素食自助,盘子吃得干洁净净,价格令娱乐圈汗颜提到娱乐圈傍边最受人敬重的演员,那么必定公主调教会有刘德华的姓名。作为四大天王之首,刘德华这辈子赚到了数不清的钱,可是他却历来都不糟蹋。当需求捐钱的时分历来Psiphon成...

    2019-07-17 11:44:46
  • qq阅读,利物浦吧-大部分人都不知道,旅行和旅游的区别
    qq阅读,利物浦吧-大部分人都不知道,旅行和旅游的区别

    一向觉得外滩有两个。中山东一路的外滩,和中山东一路反面的外滩。前一个外滩归于一切和上海有关的明信片,归于人山人海的各地游客,归于黄浦江上的汽笛和宽广大路的车流人海。后qq阅览,利物浦吧-大部分人都不知道,游览和游览的差异一个外滩是被游人和车...

    2019-07-17 11:42:30
标签列表