当前位置:首页 > 教育培训 >

python里self.name什么意思(python self是啥)

来源:原点资讯(www.yd166.com)时间:2023-06-15 02:39:50作者:YD166手机阅读>>

现代编程语言几乎都支持面向对象编程,面向对象编程是最有效的软件编写方法之一。你可以用类和对象来表示现实当中的任何的事物和行为。

编写类时,你会定义某一类东西通用的特征和行为。然后通过类创建对象,每个对象都自动具备这个类的特征和行为,还可以赋予每个对象独特的个性。

通过这种方式,你几乎可以把看到的任何事物用代码来表示。 比如我们来描述一下“我开车去上班,车到半路没油了,于是我先加油” 这个普通的场景。

在这个场景中,涉及到的人和物,有 “我”, "车", “油”, 这些人和物就可以通过对象来表示。 我是一个人,属于人这个类, 我的车属于 车这个类, 油就是属于油这个类。

还有动作和行为, 开车属于我的动作,加油也是属于我的动作。

出了动作和行为外,还有属性和状态,比如车没油, 加完油以后,有油了。

类和对象的语法稍微有点复杂,要理解确实有一点难度,这也是大多数学习编程的人最后选择了放弃。 但其实只要学会把生活的当中的示例抽象出来,类和对象没有想的那么难。

什么是类

类是具备共同特征和共同行为的事物的统称。 所谓人以群分,物以类聚。

类的表示通常采用驼峰式命名。

class Car: pass class Mobile: pass 什么是对象

对象(Object)是一类事物中的一个成员(个体), object 的中文是东西,对象又被称为实例,是一个实实在在存在的东西。

  • 我的车
  • 你的车
  • 隔壁邻居的车 https://gitee.com/looker53/pics/raw/master/img//20210605153142.png

通过类得到对象,这个过程叫实例化,类似函数的调用。

my_car = Car() your_car = Car() 类和对象的关系

类就相当于建造房子时的施工图纸(blueprint),是一个模板,是负责创建房子(对象)的,通过类可以得到对象。 就好像玩植物大战僵尸的游戏,上方的卡片就相当于类, 拖动卡片就可以在下方的空地上得到一个对象。

python里self.name什么意思,python self是啥(1)

https://gitee.com/looker53/pics/raw/master/img//20210605153158.png

my_car = Car() car_class = Car print(type(my_car), type(car_class)) 属性

整个类的特征,所有成员都一致,又被称为类变量。

class Car: wheel = True material = ["塑料", "铁", "铝合金", "橡胶"]

获取类属性

print(Car.wheel)

实例获取类属性

Car().wheel

修改类属性

Car.wheel = False __init__ 初始化方法

*__init__* 叫初始化方法,代表一个对象产生时的初始化过程。 比如一部手机生产出来后,需要贴 logo,设计型号,壁纸,屏幕亮度。

class Mobile: def __init__(self, brand, model, brightness): self.brand = brand self.model = model self.brightness = brightness print("Mobile 的品牌:{},型号:{},亮度:{}".format(brand, model, brightness))

这个初始化方法有点特殊,在实例化一个对象时,会自动调用这个方法。 方法的第一个参数是 self, 它是一个固定的语法,表示对象本身,其他的 brand, model, brightness 这些参数和普通的函数参数一样,改传值的时候传入实际参数就可以。

self.brand 这样的语法表示定义实例属性,当传入一个具体的参数时,就能赋值成为一个对象的属性。

初始化方法不能有返回值。

self
  • self, 我自己,这个。这个人的名字 self.name
  • self 表示在类里面对象本身。
  • 类外面定义一个变量。
  • self 可以换成其他的变量名,但是是规范,强烈不建议更换。 class Mobile:
    def __init__(self, brand):
    self.brand = brand
    print(self)

    redmi = Mobile("redmi")
    print(redmi)
    类变量和实例变量
  • 类变量和类属性一样。
  • 实例变量可以访问类变量,
  • 类变量不能能访问实例变量
方法(Method)

实例方法是用得最多的方法类型,一般默认情况下就是实例方法,通过实例调用。

# 初始化方法 # 实例方法的定义 def drive(self): print('{} 正在开车'.format(self.name))

类方法是通过类调用的方法,可以用来作为备用的构造函数,初始化一个类。

class Dog: def __init__(self, fullname): self.fullname = fullname @classmethod def gouzao(cls, name1, name2): return cls(name1 name2) a = Dog('yuze') print(a) b = Dog.gouzao('yuze','wang') print(b) 继承

python里self.name什么意思,python self是啥(2)

https://gitee.com/looker53/pics/raw/master/img//20210605153215.png

继承充分发挥了面向对象的优势,编写类时,并非总是要从空白开始。如果要编写的类是另一个现成类的特殊版本,可使用继承 。一个类继承另一个类时,将自动获得另一个类的所有属性和方法。原有的类称为父类 ,而新类称为子类 。子类继承了父类的所有属性和方法,同时还可以定义自己的属性和方法。

在写代码时,我们可以利用别人已经写好的类,我们自己定义一个类继承别人写的类,就不需要从零开始写了,大大提高了代码的编写速度。

重写父类方法

如果子类想实现自己的方法,不想用父类现成的,就可以重写父类方法。

class Mobile: def __init__(self, brand): self.brand = brand print(self) def call(): print("calling") class Iphone(Mobile): def call(): print("Iphone Calling") Super

如果你的重写了父类里面的一个方法,然后又想调用父类里面的一些方法,可以用超继承,我们在单元测试里面会看到这个操作。不用去重写复制代码,轻轻松松可以做到更多继承。(了解会用即可)-super(子类名,self),根据子类找到父类。

class Animal: def run(self): print("我是一只动物,我在跑") class Dog(Animal): def run(self): super().run() print("狗在跑") Dog().run()

正常的继承:

class Animal: def __init__(self, type): self.type = type def run(self): print("{} am running".format(self.type)) class Dog(Animal): def __init__(self): Animal.__init__(self, 'Dog') a_dog = Dog() a_dog.run()

栏目热文

python中value是什么意思(python中值是什么意思)

python中value是什么意思(python中值是什么意思)

随着python在企业中的应用越来越多,岗位需求越来越大,面试成为了搞定优质职位的快速方式,接下来给大家总结9道比较容易...

2023-06-15 02:59:51查看全文 >>

pythontitle是什么(python的title怎么用)

pythontitle是什么(python的title怎么用)

经过了一段时间的学习之后,我总结了利用python实现可视化的三个步骤:1、确定问题,选择图形2、转换数据,应用函数3、...

2023-06-15 02:46:00查看全文 >>

python target什么意思

python target什么意思

目录线程和进程一、 什么是进程 / 线程1、 引论众所周知,CPU是计算机的核心,它承担了所有的计算任务。而操作系统是计...

2023-06-15 02:51:32查看全文 >>

python中value是啥(python中index和value是什么意思)

python中value是啥(python中index和value是什么意思)

Python官方文档里经常会遇到literal这个词,每每似懂非懂。为断绝此不爽情绪,在此深究一下。Literal翻译成...

2023-06-15 02:53:09查看全文 >>

python中的head什么意思(python中header=true是什么意思)

python中的head什么意思(python中header=true是什么意思)

使用python的os模块,简单方便完成对文件夹、文件及路径的管理与访问操作。1 前言在最近开发中,经常需要对文件进行读...

2023-06-15 02:20:12查看全文 >>

python中option是什么意思(python中值是什么意思)

python中option是什么意思(python中值是什么意思)

按钮“按钮”应该是GUI应用中使用最广泛的控件了吧,Python tkinter中的“按钮”是Button类。1.1 构...

2023-06-15 02:38:24查看全文 >>

python值是什么意思(python类是什么意思)

python值是什么意思(python类是什么意思)

Python语言最常用的对象是变量和常量,常量的值是字面意思,其值是不可变的,变量的值是可变的,例如,123,"...

2023-06-15 02:45:34查看全文 >>

我的世界的钢琴怎么弹(我的世界主题曲用钢琴怎么弹)

我的世界的钢琴怎么弹(我的世界主题曲用钢琴怎么弹)

众所周知,音乐是人类文明艺术非常重要的一个体现,几乎没有人会讨厌它。并且不管什么场合,音乐似乎都能加入进来,甚至有时候想...

2023-06-15 02:32:52查看全文 >>

我的世界里造钢琴的方法(我的世界怎么做钢琴教程)

我的世界里造钢琴的方法(我的世界怎么做钢琴教程)

对于已熟悉MC我的世界基本玩法的玩家来说,利用游戏中一些相关的道具,做出小巧逼真的现实物品,无疑是一件很有意思的事。如果...

2023-06-15 02:22:35查看全文 >>

我的世界钢琴的教程(我的世界钢琴怎么建)

我的世界钢琴的教程(我的世界钢琴怎么建)

在我的世界中有很多很多好玩的东西,每个模式也有着各自的乐趣,但是有一样东西无论是在建筑模式,还是生存模式下都非常有意思,...

2023-06-15 02:42:58查看全文 >>

文档排行