Python入门教程(二十二)Python的类和对象

作者:轻松学Python 时间:2021-11-22 06:00:56 

Python 类/对象

Python 是一种面向对象的编程语言。

Python 中的几乎所有东西都是对象,拥有属性和方法。

类(Class)类似对象构造函数,或者是用于创建对象的“蓝图”。

创建类

如需创建类,请使用 class 关键字:

实例

使用名为 x 的属性,创建一个名为 MyClass 的类:

class MyClass: x = 5

运行实例

<class '__main__.MyClass'>

创建对象

现在我们可以使用名为 myClass 的类来创建对象:

实例

创建一个名为 p1 的对象,并打印 x 的值:

p1 = MyClass()
print(p1.x)

运行实例

7

init() 函数

上面的例子是最简单形式的类和对象,在实际应用程序中并不真正有用。

要理解类的含义,我们必须先了解内置的 init() 函数。

所有类都有一个名为 init() 的函数,它始终在启动类时执行。

使用 init() 函数将值赋给对象属性,或者在创建对象时需要执行的其他操作:

实例

创建名为 Person 的类,使用 init() 函数为 name 和 age 赋值:

class Person:
 def __init__(self, name, age):
   self.name = name
   self.age = age

p1 = Person("Bill", 63)

print(p1.name)
print(p1.age)

运行实例

Bill
63

注释:每次使用类创建新对象时,都会自动调用 init() 函数。

对象方法

对象也可以包含方法。对象中的方法是属于该对象的函数。

让我们在 Person 类中创建方法:

实例

插入一个打印问候语的函数,并在 p1 对象上执行它:

class Person:
 def __init__(self, name, age):
   self.name = name
   self.age = age

def myfunc(self):
   print("Hello my name is " + self.name)

p1 = Person("Bill", 63)
p1.myfunc()

运行实例

Hello my name is Bill

提示:self 参数是对类的当前实例的引用,用于访问属于该类的变量。

self 参数

self 参数是对类的当前实例的引用,用于访问属于该类的变量。

它不必被命名为 self,您可以随意调用它,但它必须是类中任意函数的首个参数:

实例

使用单词 mysillyobject 和 abc 代替 self:

class Person:
 def __init__(mysillyobject, name, age):
   mysillyobject.name = name
   mysillyobject.age = age

def myfunc(abc):
   print("Hello my name is " + abc.name)

p1 = Person("Bill", 63)
p1.myfunc()

运行实例

Hello my name is Bill

修改对象属性

您可以这样修改对象的属性:

实例

把 p1 的年龄设置为 40:

p1.age = 40

运行实例

64

删除对象属性

您可以使用 del 关键字删除对象的属性:

实例

删除 p1 对象的 age 属性:

del p1.age

运行实例

Traceback (most recent call last):
 File "demo_class7.py", line 13, in <module>
   print(p1.age)
AttributeError: 'Person' object has no attribute 'age'

删除对象

使用 del 关键字删除对象:

实例

删除 p1 对象:

del p1

运行实例

Traceback (most recent call last):
 File "demo_class8.py", line 13, in <module>
   print(p1)
NameError: 'p1' is not defined

pass 语句

类定义不能为空,但是如果您处于某种原因写了无内容的类定义语句,请使用 pass 语句来避免错误。

实例

class Person: pass

来源:https://blog.csdn.net/ooowwq/article/details/129032676

标签:Python,入门,类,对象
0
投稿

猜你喜欢

  • python threading模块操作多线程介绍

    2021-03-16 20:02:13
  • DW实现滚动新闻

    2007-12-03 11:35:00
  • 详解python的循环

    2022-12-29 04:22:52
  • rs.open sql,conn,1,1与rs.open sql,conn,1.3还有rs.open sql,conn,3,2区别

    2011-02-24 10:49:00
  • JavaScript 自定义事件之我见

    2024-04-10 10:50:01
  • 解决golang 反射interface{}做零值判断的一个重大坑

    2024-05-21 10:24:27
  • python实现贪吃蛇双人大战

    2022-10-10 19:18:37
  • 使用Keras加载含有自定义层或函数的模型操作

    2022-12-25 19:29:29
  • Python实现数通设备端口使用情况监控实例

    2021-02-09 23:56:41
  • 自动定时备份sqlserver数据库的方法

    2024-01-13 20:45:14
  • PHP常用字符串函数用法实例总结

    2024-05-11 10:01:28
  • javascript将数字转换整数金额大写的方法

    2024-04-30 10:08:34
  • python中__call__内置函数用法实例

    2022-06-04 11:46:32
  • vuex与map映射实现方法梳理分析

    2023-07-02 16:34:04
  • Go语言中反射的正确使用

    2024-02-01 16:31:57
  • python轮询机制控制led实例

    2023-12-12 01:39:00
  • MySQL 视图,第1349号错误

    2008-05-18 13:04:00
  • pygame编写音乐播放器的实现代码示例

    2021-08-12 18:08:48
  • kali中python版本的切换方法

    2022-03-03 17:53:45
  • 天翼开放平台免费短信验证码接口使用实例

    2023-10-13 06:41:55
  • asp之家 网络编程 m.aspxhome.com