属性和方法|学习笔记

简介: 快速学习 属性和方法

开发者学堂课程【Python 语言基础 3:函数、面向对象、异常处理属性和方法】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/601/detail/8755


属性和方法


内容简介:

 

类的分类

例子

 

 

一、类的分类

-类和对象都是对现实生活中的事物或程序中的内容的抽象

 

-实际上所有的事物都由两部分构成:

1.数据(属性)

2.行为(方法)

 

-在类的代码块中,我们可以定义变量和函数,

变量会成为该类实例的公共属性,所有的该类实例都可以通过 对象.属性名 的形式访问

函数会成为该类实例的公共方法,所有的该类实例都可以通过 对象.方法名()的形式调用方法

 

-注意:

 方法调用时,第一个参数由解析器自动传递,所以定义方法时,至少要定义一个形参!

 

-实例为什么竜访问到类中的属性和方法

类中定义的属性和方法都是公共的,任何该类实例都可以访问

 

-属性和方法查找的流程

当我们调用一个对象的属性时,解析器会先在当前对象中寻找是否含有该属性,

如果有,则直接返回当前的对象的属性值,

如果没有,则去当前对象的类对象中去寻找,如果有则返回类对象的属性值,

如果没有则报错!

 

-类对象和实例对象中都可以保存属性(方法)

-如果这个属性(方法)是所有的实例共享的,则应该将其保存到类对象中

-如果这个属性(方法)是某个实例独有,则应该保存到实例对象中

 

-一般情况下,属性保存到实例对象中,而方法需要保存到类对象中

 

 

二、例子

class Person

在类的代码块中,我们可以定义变量和函数

在类中我们所定义的变量,将会成为所有的实例的公共属性,所有实例都可以访问这些变量。

name=’swk’  公共属性,所有实例都可以访问

在类中也可以定义函数,类中的定义的函数,我们称为方法

这些方法也可以通过该类的所有实例来访问。

def say_hello(self);

方法每次被调用时,解析器都会自动传递的一个实参, 第一个参数,就是调用方法的对象本身,

如果是 p1 调的,则第一个参数就是 p1 对象

如果是 p2 调的,则第一个参数就是 p2 对象

一般我们都会将这个参数命名为 self

say_hello() 这个方法,可以显示如下格式的数据:

你好!我是xxx

在方法中不能直接方法类中的属性

print(’你好!我是%s‘%self,name)


创建 person 的实例

P1=person()

P2=person()

Print(p2.name)

调用方法,对象。方法名()

方法调用和函数调用的区别

如果是函数调用,则调用时几个参数,就会有几个实参

但是如果是方法调用,默认传递一个参数,所以方法中至少要定义一个形参


修改 p1 的 name 属性

p1.name=’猪八戒‘

P2.name=’沙和尚‘

p1.say_hello() ‘你好!我是猪八戒’

p1【variable】

p1.name

p1.name

del p2.name删除p2的name属性

print(p1.name)

print(p2.name)

相关文章
|
JSON 自然语言处理 JavaScript
介绍16个让你的代码变漂亮的属性
介绍16个让你的代码变漂亮的属性
264 0
介绍16个让你的代码变漂亮的属性
|
16天前
|
存储 编译器 C#
|
存储 负载均衡 测试技术
FlowFile 属性 | 学习笔记
快速学习 FlowFile 属性
205 0
|
开发者 Python
内置属性 | 学习笔记
快速学习 内置属性
55 0
内置属性 | 学习笔记
|
开发者 Python
类属性和对象属性|学习笔记
快速学习类属性和对象属性
79 0
类属性和对象属性|学习笔记
|
Java 开发者
方法的定义 | 学习笔记
快速学习方法的定义
方法的定义 | 学习笔记
|
存储 Kotlin
【Kotlin】属性 与 幕后字段 ( 属性声明 | 属性初始化器 | 属性访问器 | field 属性幕后字段 | lateinit 延迟初始化属性 )
【Kotlin】属性 与 幕后字段 ( 属性声明 | 属性初始化器 | 属性访问器 | field 属性幕后字段 | lateinit 延迟初始化属性 )
193 0
【Kotlin】属性 与 幕后字段 ( 属性声明 | 属性初始化器 | 属性访问器 | field 属性幕后字段 | lateinit 延迟初始化属性 )
|
开发者 Python
属性和方法|学习笔记
快速学习 属性和方法
|
开发者 Python
隐藏类中的属性|学习笔记
快速学习 隐藏类中的属性
|
Python
类的属性总结
[root@blackfox zhouyuyao]# cat c7.py  #!/usr/bin/python #coding:utf8 var5 = "全局变量var5" class MyClass(object):     var1 = '类的公有属性 var1'   ...
744 0