复习 类的属性总结 类的方法总结

1.类的属性总结

脚本练习:

2.打印各种类的属性

(1)访问类的公有属性

执行结果:

(2)访问类的私有属性

执行结果:

不建议使用这种方式访问类的私有属性,只是为了测试。

(3)访问对象的公有属性

执行结果:

结论:必须要先调用方法,才能使用方法里面的属性。

(4)访问对象的私有属性

执行结果:

结果:这样访问是不行的,不能再类外面访问对象的私有属性。

(5)访问函数的局部变量

执行结果:

结果:也不能用这种方法访问函数的局部变量。

总结:类的公有属性,可以通过对象访问

类的私有属性,也可以通过对象来访问

对象的公有属性,要先调用方法,才能通过对象来访问。

对象的私有属性,通过对象不能访问

函数的局部变量,在类的外面,通过对象也不能访问。

下面我们通过类来访问这些属性:

(1)访问公有属性

执行脚本:

没问题

(2)通过类访问私有属性:

执行脚本:

不可以访问

(3)通过类访问对象的公有属性

执行脚本:

不能访问。

说明:对象的属性,只能通过对象来访问

执行脚本:

可以执行

补充:对象的属性和类的属性的区别

①脚本中位置不一样

②类的属性是定义在方法外

③对象的属性是对应在方法里

测试这些属性在类的内部使用:

(1)在内部访问类的公有、私有属性

执行结果:

公有、私有属性都可以被访问。

(2)在类内部访问对象的公有属性

执行结果

(3)在类内部访问对象的私有属性

执行结果:

也可以访问对象的私有属性。

(4)在方法内调用对象的私有属性和函数局部变量

执行结果:

可以访问到

var5可以再fun1()里面被访问,不能再fun2()中被访问,除非把var5定义为全局变量,全局变量是在类的外部定义的。

如下图所示:

(5)访问类的内置属性

执行结果:

2.类的方法总结

(1)定义方法

(2)调用一下,查看这些方法可以在什么地方被调用

①调用公有方法L:

执行脚本:

②调用私有方法:

执行脚本:

如图,不能被调用,私有方法只能在类的内部被调用。

③调用类方法:

在类方法上面加上“装饰器”,有了装饰器,表示这个方法可以被类来调用;

调用方法如下:

执行脚本:

可以执行,要加上装饰器才可以被类调用。

④调用静态方法

静态方法也是通过类来调用的,静态调用不能通过self,所以改成类来调用name,如下:

调用方法:

执行结果:

时间: 2024-11-07 20:49:04

复习 类的属性总结 类的方法总结的相关文章

php中调用类的属性和函数的方法->_=>_::_$this->区别

在php中有同学经常搞不明白->,=>,::,$this->的作用,下面通过例子讲解下. 一.->用来引用一个类的属性(变量).方法(函数) 可以把->理解成调用的意思 如: <?php Class a{ Var $id; Function add(){ $this->id="test"; echo "abc"; } } $b = new a; $b->add();  //调用类a中的add()方法, 输出为abc E

类的属性、类的方法、类的内置方法

类的属性 变量在类中称为类的属性,函数在类中称为类的方法,类的属性分为以下几种: (1) 公有属性:在类中和类外都能调用的属性,定义的时候与变量的定义一致,如 color = 'yellow'(2) 私有属性:不能在类外及被类以外的函数调用,定义的时候以双下划线开头,如__color = 'yellow' (3) 内置属性: 由系统在定义类的时候默认添加的,定义的时候以前后双下划线构成,如 dict #!/usr/bin/env python class People(object): colo

Python中类的继承及类的属性和方法总结

1.类的继承 类的继承 继承是面向对象的重要特性之一, 继承关系继承是相对两个类而言的父子关系 子类继承了父类的所有公有属性和方法, 继承,实现了代码重用 使用继承 继承可以重用已经存在的数据和行为,减少代码的重复编写, Python在类名后使用一对括号来表示继承关系,括号中的即类为父类 class Myclass(ParentClass), 如果父类定义了__init__方法,子类必须显式调用父类的__init__方法, ParentClass.__init__(self,[args...])

实例属性和类属性

实例属性通过self或实例变量来定义,注意__init__方法中定义的是实例属性: class Student(object): def __init__(self, name): self.name = name s1 = Student('Bob') #给实例添加一个属性 s1.score = 90 s2 = Student('Jim') 在实例s1中添加一个属性score, 该属性只对s1有用,在s2中是没有的: >>> s1.score 90 >>> s2.sc

怎样使用CPropertyPage类和CPropertySheet类创建属性表

CPropertyPage类是属性页类,相当于每一个类就是一个对话框.它继承自CDialog类. CPropertySheet类是属性表类,它有多个属性页.它继承自CWnd类 创建属性表步骤如下: 这里简单的以只有两个属性页的属性表为例子. 1.创建一个主对话框. 如图: 2.在资源中创建一个菜单 如图: 3.给菜单添加事件处理程序 如图: 4.在主对话框属性中添加菜单 如图: 5.添加两个对话框作为属性页 如图: 需要注意的是,对话框外框最好设置为thin(MSDN说的),不过我测试的时候感觉

079 类的属性查找

类的属性查找 先从对象自己的名称空间找,没有则取类里找,如果类里也没有则程序报错 class Student1: # 定义类的相同属性 school = 'xiwangzhongxue' count = 0 aaa = 10 # 定义类的相同方法 # 定义类的属性方法 def __init__(self,name,age): self.name = name self.age = age Student.count += 1 self.aaa = 1 def choice(self): prin

Swift类与结构、存储属性、计算属性、函数与方法、附属脚本等

写了12个Person来复习,不过完成同样的代码需要敲键盘的次数相比OC确实少了很多,这很多应该归功于Swift中不写分号,以及少了OC中的中括号. 一.类与结构体 两者在Swift中差不了多少了 类与结构体有很多相同的地方: (第2,3点是其他语言中不存在的) 1)都可以定义属性/方法/下标(结构体也可以定义方法了) 2)都能初始化(通过构造方法) 3)都能使用扩展(extension)与协议(protocol) 4)类与结构体(枚举)中的全局属性/方法:在类中用class关键字,但在结构体中

【iOS】Swift类与结构、存储属性、计算属性、函数与方法、附属脚本等

写了12个Person来复习,不过完成同样的代码需要敲键盘的次数相比OC确实少了很多,这很多应该归功于Swift中不写分号,以及少了OC中的中括号. 一.类与结构体 两者在Swift中差不了多少了 类与结构体有很多相同的地方: (第2,3点是其他语言中不存在的) 1)都可以定义属性/方法/下标(结构体也可以定义方法了) 2)都能初始化(通过构造方法) 3)都能使用扩展(extension)与协议(protocol) 类比结构体多的功能: 1)能继承 2)运行时能检查类对象的类型 3)析构释放资源

Python类属性访问的魔法方法

Python类属性访问的魔法方法: 1. __getattr__(self, name)- 定义当用户试图获取一个不存在的属性时的行为 2. __getattribute__(self, name)- 定义当该类的属性被访问时的行为 注意:当__getattr__与__getattribute__同时重写时,访问属性时,优先调用__getattribute__,只有当被访问的属性不存在时才触发__getattr__ 3. __setattr__(self, name, value)- 定义当一个