英文网站模板下载,机械加工网上怎么接单,网站建设方向,wordpress金融网站模板先介绍一下python中的类与对象/实例。然后详细说明self。说明#xff1a;对象等同实例#xff0c;本文称呼不一致时请自行统一 【一】类与对象/实例 1、类 #xff08;1#xff09;类由名称、属性、方法三部分组成 #xff08;2#xff09;类是抽象模板#xff0c;比如学…先介绍一下python中的类与对象/实例。然后详细说明self。说明对象等同实例本文称呼不一致时请自行统一 【一】类与对象/实例 1、类 1类由名称、属性、方法三部分组成 2类是抽象模板比如学生汽车可以用Student、Car类来表示 3类命名规范数字、字母、下划线数字不能开头要驼峰式命名 4定义类 第一种class 类名:冒号缩进代码块内含属性与方法 第二种class 类名(object):--Object表示该类从哪个类继承下来的Object类是所有类都会继承的类。-- #子类继承父类
class Parent:def pprt(self):print(self)class Child(Parent): #表示子类从父类继承def cprt(self):print(self)
c Child()
c.cprt() # Child类的实例
c.pprt() #self指的是Child类的实例父类Parent中定义了pprt()方法
p Parent()
p.pprt() # Parent类的实例 5关于self类函数需要定义一个‘self’不用理会不需要赋值self不是py关键字但是必填self可以用其他参数替代如“this、a”只是约定俗称 6如下图p.sayhello() 实际上Python解释成Person.sayhello(p)也就是说把self替换成类的实例 # 实例说明self代表是是对象/实例本身而非类本身类中包含多个对象# self不必非写成self可以其它参数代替只是约定俗成但必须写
class Person:def sayhello(self):print(self)print(***********分割线*************)print(My name is:linda)
pPerson()
p.sayhello() #等同Person.sayhello(p) # 如果我们的定义和调用时均不传类实例是可以的这就是类方法
class Person:def sayhello():print()print(***********分割线*************)print(My name is:linda)
pPerson()
Person.sayhello() # 定义和调用均不传类实例 2、对象/实例 1对象是由类 创建出来的实体对象也称实例 2对象要从类中继承方法具有类里面所有属性和方法的使用权限 3创建方式对象名 类() ---如 tom Person() class Person:def sayhello(self):print(self)print(***********分割线*************)print(My name is:linda)
pPerson() 3、__init__方法 ---也叫 初始化方法 类中定义了__init__方法则表示在创建对象时系统会默认调用此方法也叫初始化方法 由于类起到模板的作用因此可以在创建实例的时候把我们认为必须绑定的属性强制填写进去。这里就用到Python当中的一个内置方法__init__方法例如在Person类时把name、age等属性绑上去: 说明 1、类在创建对象时就已经有默认的属性如创建一辆汽车时就已经注定这个车子是什么品牌有几个轮子等所以类的属性一般定义在__init__方法中 2、__init__方法在创建对象时候被调用所以属性通过对象 Car(属性)传入方法中 【注意点】1__init__方法的第一参数永远是self表示self指向创建的类实例本身因而在__init__方法内部可以把各种属性绑定到self等同于绑定创建的实例本身 2__init__方法 在创建实例时不可传入空的参数必须传入与__init__方法匹配的参数但self不需要传Python解释器会自己把实例变量传进去 3如上图 self.name name的意思就是把外部传来的参数name的值赋值给Person类自己的属性变量self.name 说明self就是指类本身self.name就是Person类的属性变量是Person类所有。而name是外部传来的参数不是Person类所自带的。 【二】self的详细说明 1、说明 1# 实例说明self代表是是对象/实例本身而非类本身类中可包含多个对象 2# self不必非写成self可以其它参数代替只是约定俗成但必须写 3# 如果我们的定义和调用时均不传类实例也是可以的 2、关于类函数/类方法 【?】类函数与普通函数的区别 仅在于类函数第一参数永远是类的本身实例变量self调用时不用传递该参数 1方法通俗点来说就是函数 ---把每一项类中所有的功能封装起来称为方法一般方法里的内容就是方法的执行过程 方法多具有执行性 举例 比如类表示的是People 也就是人 人的类中会有一些属性 这些属性大概是 身高、体重、姓名等等 那么方法比如是 跑、吃、等等 class Person(object):def __init__(self, name, age):self.name nameself.age ageprint(我叫{0},我今年{1}岁.format(self.name,self.age)) #我叫小明,我今年18岁personPerson(小明,18)
person.name
person.age 【说明】Person类实例本身拥有一些数据那么要访问这些数据就不需要从外面的函数去访问可直接在Person类的内部定义访问数据的函数方法这样就可以把”数据”封装起来。 这些封装数据的函数是和Person类本身是关联起来的称之为类的方法 我们从外部看Person类只需要知道创建实例需要给出name和age。 而如何打印都是在Person类的内部定义的这些数据和逻辑被封装起来了调用很容易但却不知道内部实现的细节。 如果要让内部属性不被外部访问可以把属性的名称前加上两个下划线在Python中实例的变量名如果以开头就变成了一个私有变量private只有内部可以访问外部不能访问 这样就确保了外部代码不能随意修改对象内部的状态这样通过访问限制的保护代码更加健壮 注意Python中变量名类似__xxx__的也就是以双下划线开头且以双下划线结尾的是特殊变量特殊变量是可以直接访问的不是private变量所以不可以这样命名 转载于:https://www.cnblogs.com/nbnuan/articles/9805952.html