python的面向对象-实例(对象)的相关知识、实例化

1、对象就是实例,什么是实例

类运行的过程就是实例化的过程,实例化产生的结果就是产生了一个实例

class的牛逼之处就是不用手动的return,他会加载完函数之后,自动return  __init__这个函数里面的字典,字典当中封装了数据属性

函数属性就是属于类的

2、实例化

只要用类名加()的方式运行,(在类中这个运行叫实例化)首先会运行__init__这个函数

class Chinese:#定义了Chinese这个类
    dang="当"#定义了一个数据属性dang
    def __init__(self,name,age,gender):
        print("我是初始化函数,我开始运行了")
        self.mingzi=name
        self.nainji=age
        self.xignbie=gender#这样写完之后会自动return
        print("我结束啦")
    def suiditutan():#定义了一个函数属性
        print("朝着墙上就是一口黄痰")
    def chadui(self):#又定义了一个函数属性
        print("%s 插到了前面" %self)
p1=Chinese("北爷",33,"female")

C:\python35\python3.exe D:/pyproject/day24/对象相关知识.py

我是初始化函数,我开始运行了

我结束啦

实例化的过程就是运行__init__这个函数,从而生成一个字典,这个字典就是实例(对象)

字典当中封装的是数据属性

查看下p1这个实例的内容

class Chinese:#定义了Chinese这个类
    dang="当"#定义了一个数据属性dang
    def __init__(self,name,age,gender):
        print("我是初始化函数,我开始运行了")
        self.mingzi=name
        self.nainji=age
        self.xignbie=gender#这样写完之后会自动return
        print("我结束啦")
    def suiditutan():#定义了一个函数属性
        print("朝着墙上就是一口黄痰")
    def chadui(self):#又定义了一个函数属性
        print("%s 插到了前面" %self)
p1=Chinese("北爷",33,"female")
print(p1.__dict__)

C:\python35\python3.exe D:/pyproject/day24/对象相关知识.py

我是初始化函数,我开始运行了

我结束啦

{‘nainji‘: 33, ‘xignbie‘: ‘female‘, ‘mingzi‘: ‘北爷‘} 

注意:__init__里面不要有return   加了就会报错,class会自动帮你return

3、实例属性可以访问到类属性

class Chinese:#定义了Chinese这个类
    dang="当"#定义了一个数据属性dang
    def __init__(self,name,age,gender):#self就是p1本身
        print("我是初始化函数,我开始运行了")
        self.mingzi=name#p1.mingzi=name
        self.nianji=age#p1.nainji=age
        self.xingbie=gender#这样写完之后会自动return
        print("我结束啦")
    def suiditutan():#定义了一个函数属性
        print("朝着墙上就是一口黄痰")
    def chadui(self):#又定义了一个函数属性
        print("%s 插到了前面" %self)
p1=Chinese("北爷",33,"female")
print(p1.__dict__)#字典里面只有数据属性
print(p1.__dict__["nianji"])#用字典的方式取字典里面的value
print(p1.__dict__["mingzi"])
print(p1.nianji)#实例调用nianji
print(p1.mingzi)#这是实例的数据属性
# print(p1.mingzi222)#会报错,实例调用方法的时候会从__dict__里面找,找不到就报错了
print(p1.dang)#用实例去调用类的数据属性,虽然__dict__里面没有,但是上一级有

C:\python35\python3.exe D:/pyproject/day24/对象相关知识.py

我是初始化函数,我开始运行了

我结束啦

{‘nianji‘: 33, ‘xingbie‘: ‘female‘, ‘mingzi‘: ‘北爷‘}

33

北爷

33

北爷

当

实例在调用属性的时候,先找实例的属性字典里面,如果没有的话,就去类的属性字典里面找,类里面在没有的话就报错了

4、类调用方法直接用类名加()

class Chinese:#定义了Chinese这个类
    dang="当"#定义了一个数据属性dang
    def __init__(self,name,age,gender):#self就是p1本身
        print("我是初始化函数,我开始运行了")
        self.mingzi=name#p1.mingzi=name
        self.nianji=age#p1.nainji=age
        self.xingbie=gender#这样写完之后会自动return
        print("我结束啦")
    def suiditutan():#定义了一个函数属性
        print("朝着墙上就是一口黄痰")
    def chadui(self):#又定义了一个函数属性
        print("%s 插到了前面" %self.mingzi)
p1=Chinese("北爷",33,"female")
Chinese.suiditutan()
Chinese.chadui(p1)

C:\python35\python3.exe D:/pyproject/day24/对象相关知识.py

我是初始化函数,我开始运行了

我结束啦

朝着墙上就是一口黄痰

北爷 插到了前面

5、用实例调用方法

class Chinese:#定义了Chinese这个类
    dang="当"#定义了一个数据属性dang
    def __init__(self,name,age,gender):#self就是p1本身
        print("我是初始化函数,我开始运行了")
        self.mingzi=name#p1.mingzi=name
        self.nianji=age#p1.nainji=age
        self.xingbie=gender#这样写完之后会自动return
        print("我结束啦")
    def suiditutan(self):#定义了一个函数属性
        print("%s 朝着墙上就是一口黄痰" %self.mingzi)
    def chadui(self):#又定义了一个函数属性
        print("%s 插到了前面" %self.mingzi)
p1=Chinese("北爷",33,"female")
Chinese.suiditutan(p1)#类调用方法
Chinese.chadui(p1)#类调用方法
p1.chadui()#实例调用方法,会自动把p1传给self
p1.suiditutan()#实例调用方法,会自动把p1传给self

C:\python35\python3.exe D:/pyproject/day24/对象相关知识.py

我是初始化函数,我开始运行了

我结束啦

北爷 朝着墙上就是一口黄痰

北爷 插到了前面

北爷 插到了前面

北爷 朝着墙上就是一口黄痰

6、再实例化一个p2  增加一个类的函数属性,用实例调用一下

class Chinese:#定义了Chinese这个类
    dang="当"#定义了一个数据属性dang
    def __init__(self,name,age,gender):#self就是p1本身
        self.mingzi=name#p1.mingzi=name
        self.nianji=age#p1.nainji=age
        self.xingbie=gender#这样写完之后会自动return
    def suiditutan(self):#定义了一个函数属性
        print("%s 朝着墙上就是一口黄痰" %self.mingzi)
    def chadui(self):#又定义了一个函数属性
        print("%s 插到了前面" %self.mingzi)
    def eatfood(self,food):
        print("%s 正在吃%s" %(self.mingzi,food))
p1=Chinese("北爷",33,"female")
p1.eatfood("黄痰")
p2=Chinese("喵爷",28,"female")
p2.suiditutan()#实例调用类的函数属性,会自动把p1传给self
p2.eatfood("黄焖鸡米饭")#实例调用类的函数属性,会自动把p1传给self

C:\python35\python3.exe D:/pyproject/day24/对象相关知识.py

北爷 正在吃黄痰

喵爷 朝着墙上就是一口黄痰

喵爷 正在吃黄焖鸡米饭

原文地址:https://www.cnblogs.com/gouguoqilinux/p/9190496.html

时间: 2024-10-22 15:37:51

python的面向对象-实例(对象)的相关知识、实例化的相关文章

Python之面向对象(没有对象)

没有对象之:初识 一. 面向对象初识 1.1 回顾面向过程编程vs函数式编程 # 面向过程编程 测量对象的元素个个数. s1 = 'fjdsklafsjda' count = 0 for i in s1: count += 1 l1 = [1,2,3,4] count = 0 for i in l1: count += 1 def func(s): count = 0 for i in s: count += 1 return count func('fdsafdsa') func([1,2,3

jQuery对象和DOM对象的相关知识

所谓的DOM就是Document Object Model(文档对象模型)的缩写,或许是我水平低的缘故,感觉就是HTML的标记元素嘛,所以作者画了下面的图: 像这样的元素,就是所谓的DOM对象,获取值的JS写法: var domValue=document.getElementById("元素的ID");//获取DOM对象 var objHtml=domValue..innerHTML; 在浏览器输入后,获取的结果,如上. jQuery对象就是通过jQuery包装DOM对象后,产生的对

python之面向对象与实例属性

一.三大编程范式 1.1面向过程编程 面向对象编程就是将编程当成是做一件事,要按步骤完成,每一步就是一个过程. # 打扫房间 print('开始扫地') def step_1(): print('准备扫帚') def step_2(): print('打扫房间') def step_3(): print('扫完,将扫帚放回原地') step_1() step_2() step_3() 执行结果如下: 开始扫地 准备扫帚 打扫房间 扫完,将扫帚放回原地 1.2函数编程 函数式编程:函数式 = 编程

Python之面向对象(一)

一.三大编程范式 python是一门面向对象的编程语言. 不同的编程样式有不同的风格,不同的风格有他不同的牛逼之处. 三大编程范式: 面向过程编程 函数式编程 面向对象编程 二.面向对象设计与面向对象编程 面向对象设计(Object oriented design):将一类具体事物数据和动作整合到一起,即面向对象设计 面向对象设计(OOD)不会不会特别要求面向对象语言,事实上,OOD可以由纯结构化语言来实现,比如C,但是如果想要结构具备对象性质和特点的数据结构,就要在程序上多做努力. 1 def

python基础之面对对象

Python3 面向对象 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. 如果你以前没有接触过面向对象的编程语言,那你可能需要先了解一些面向对象语言的一些基本特征,在头脑里头形成一个基本的面向对象的概念,这样有助于你更容易的学习Python的面向对象编程. 接下来我们先来简单的了解下面向对象的一些基本特征. 面向对象编程--Object Oriented Programming,简称OOP

Python之面向对象设计

面向对象技术简介 类(Class): 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例. 方法:类中定义的函数. 类变量:类变量在整个实例化的对象中是公用的.类变量定义在类中且在函数体之外.类变量通常不作为实例变量使用. 数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据. 方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写. 实例变量:定义在方法中的变量,

python基础-面向对象opp

上述是实例化对象的一个过程. 类的定义和实例化: class Role(object): #定义一个类, class是定义类的语法,Role是类名,(object)是新式类的写法,必须这样写,以后再讲为什么 def __init__(self,name,role,weapon,life_value=100,money=15000): #初始化函数,在生成一个角色时要初始化的一些属性就填写在这里 self.name = name #__init__中的第一个参数self,和这里的self都 是什么

python面向对象中类对象、实例对象、类变量、实例变量、类方法、实例方法、静态方法

1. 类对象和实例对象 Python中一切皆对象,Python类本身也是一种对象,类定义完成后,会在当前作用域中定义一个以类名为名字的命名空间.类对象具有以下两种操作: 可以通过"类名()"的方式实例化一个对象. 可以通过"类名.类属性"的方式来访问一个类属性. 如果说类时一种概念性的定义,是一种类别,那么实例对象就是对这一类别的具体化.实例化,即实例化对象是类对象实例化之后的产物. class Person:# 声明一个类对象 pass p1 = Person()

第二十七篇 类和对象相关知识

类和对象 1. 什么叫类:类是一种数据结构,就好比一个模型,该模型用来表述一类食物(食物即数据和动作的结合体),用它来生产真是的物体(实例) 2. 什么叫对象:睁开眼,你看到的一切事物都是一个个的对象,你可以把对象理解为一个具体的事物(事物即数据和动作的结合体) (铅笔是对象,人是对象,房子是对象,狗是对象,你看到的都是类) 3.类与对象的关系:对象都是由类产生的,女娲造人,首先由一个造人的模板,这个模板就是人类,然后女娲根据类的定义来生产一个个的人 4. 什么叫实例化:由类生产对象的过程叫实例