属性和方法|学习笔记

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

开发者学堂课程【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)

相关文章
|
存储 监控 安全
IT知识百科:什么是域控服务器?
【2月更文挑战第21天】
2760 2
IT知识百科:什么是域控服务器?
std::cout输出十六进制数据
std::cout输出十六进制数据
346 0
|
存储 安全 算法
AVB源码学习(一):AVB2.0工作原理及编译配置
AVB源码学习(一):AVB2.0工作原理及编译配置
1778 0
|
网络虚拟化
无线基础知识:直接转发和隧道转发有何区别?
无线基础知识:直接转发和隧道转发有何区别?
1160 4
|
存储 算法 数据可视化
Python 金融编程第二版(GPT 重译)(一)(1)
Python 金融编程第二版(GPT 重译)(一)
279 1
|
XML 移动开发 Java
流量分析之shiro、behinder
流量分析涉及Shiro和Behinder,揭示了HTTP流量模式。Shiro的Cookie值经过AES和Base64双重加密,可使用特定工具(如BTEAM-SHIRODECRYPTER)解密。分析中提到了使用TOP100密钥进行解密,并展示了部分解密内容,其中包括命令执行,如`c: cmd.exe`。关注点在于通过筛查包含"/admin/"的HTTP请求,追踪可能的黑客攻击。解密内容显示攻击者尝试在`/docs/3.jsp`写入webshell。通过进一步的流量筛选和解密,例如使用工具DecodeSomeJSPWebshell
403 3
流量分析之shiro、behinder
|
开发者
【干货分享】Grid 布局和 Flex 布局
【干货分享】Grid 布局和 Flex 布局
418 0
|
数据挖掘 关系型数据库 MySQL
MySQL中的WITH ROLLUP子句:优化数据分析与汇总
在MySQL中,优化数据查询和生成报表是至关重要的任务,WITH ROLLUP是一个用于在查询结果中生成合计行的特殊子句。它可以在GROUP BY子句中使用,以在结果中添加额外的行,显示分组的合计值。
782 0
MySQL中的WITH ROLLUP子句:优化数据分析与汇总
|
SpringCloudAlibaba Java Spring
阿里内部最新教材:Spring+SpringBoot+SpringCloud全家桶第五版
给大家分享的就是一份来自阿里的Spring+SpringBoot+SpringCloud全家桶实战手册!本手册包含了spring源码+springboot+springcloudAlibaba全彩笔记!