Python自学:基础知识点汇总(1)

 

 

Python自学--基础知识点汇总(1)

 

第一个问题,什么是 Python ?根据 Python 之父 Guido van Rossum 的话,Python 是:

一种高级程序语言,其核心设计哲学是代码可读性和语法,能够让程序员用很少的代码来表达自己的想法。

对于我来说,学习 Python 的首要原因是,Python 是一种可以优雅编程的语言。它能够简单自然地写出代码和实现我的想法。另一个原因是我们可以将 Python 用在很多地方:数据科学、Web 开发和机器学习等都可以使用 Python 来开发。Quora、Pinterest 和 Spotify 都使用 Python 来进行他们的后端 Web 开发。那么让我们来学习一下 Python 吧。

 

类&对象一些理论:对象是对现实世界实体的表示,如汽车、狗或自行车。这些对象有两个共同的主要特征:数据和行为。汽车有数据,如车轮的数量,车门的数量和座位的空间,并且它们可以表现出其行为:它们可以加速,停止,显示剩余多少燃料,以及许多其他的事情。我们将数据看作是面向对象编程中的属性和行为。又表示为:数据→ 属性和行为 → 方法而类是创建单个对象的蓝图。在现实世界中,我们经常发现许多相同类型的对象。比如说汽车。所有的汽车都有相同的构造和模型(都有一个引擎,轮子,门等)。每辆车都是由同一套蓝图构造成的,并具有相同的组件。

 

Python 面向对象编程模式:ONPython,作为一种面向对象编程语言,存在这样的概念:类和对象。一个类是一个蓝图,是对象的模型。那么,一个类是一个模型,或者是一种定义属性和行为的方法(正如我们在理论部分讨论的那样)。举例来说,一个车辆类有它自己的属性来定义这个对象是个什么样的车辆。一辆车的属性有轮子数量,能源类型,座位容量和最大时速这些。考虑到这一点,让我们来看看 Python 的类的语法:

class Vehicle:    pass

上边的代码,我们使用 class 语句来定义一个类。是不是很容易?对象是一个类的实例化,我们可以通过类名来进行实例化。

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

在这里,car 是类 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 方法。我们称之为构造函数。因此当我们在创建一个车辆对象时,可以定义这些属性。想象一下,我们喜欢 Tesla Model S ,所以我们想创建一个这种类型的对象。它有四个轮子,使用电能源,五座并且最大时时速是250千米(155英里)。我们开始创建这样一个对象:

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

四轮+电能源+五座+最大时速250千米。所有的属性已经设置了。但我们该如何访问这些属性值呢?我们给对象发送消息以向其请求该值。我们称之为方法。它是对象的行为。让我们实现它:

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 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 (修饰符)来定义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 = number

并且我们可以将这些方法作为属性使用:

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

这和方法定义有轻微的不同。这里的方法是按照属性执行的。例如当我们设置新的轮胎数目时,我们并不将这两个看做参数,而是将数值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

 

注:原文源自网络

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值