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

目录
  • Python 类/对象
  • 创建类
  • 创建对象
  • init() 函数
  • 对象方法
  • self 参数
  • 修改对象属性
  • 删除对象属性
  • 删除对象
  • pass 语句

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

到此这篇关于Python入门教程(二十二)Python的类和对象的文章就介绍到这了,更多相关Python的类和对象内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python入门教程(十九)python的函数详解

    目录 创建函数 调用函数 参数 默认参数值 以 List 传参 返回值 关键字参数 任意参数 pass 语句 递归 函数是一种仅在调用时运行的代码块. 可以将数据(称为参数)传递到函数中. 函数可以把数据作为结果返回. 创建函数 在 Python 中,使用 def 关键字定义函数: 实例 def my_function(): print("Hello from a function") 调用函数 如需调用函数,请使用函数名称后跟括号: 实例 def my_function(): pri

  • Python入门教程(二十)Python的Lambda表达式

    目录 语法 lambda 函数可接受任意数量的参数: 为何使用 Lambda 函数? lambda 函数是一种小的匿名函数. lambda 函数可接受任意数量的参数,但只能有一个表达式. 语法 lambda arguments : expression 执行表达式并返回结果: 实例 一个 lambda 函数,它把作为参数传入的数字加 10,然后打印结果: x = lambda a : a + 10 print(x(5)) 运行实例 17 lambda 函数可接受任意数量的参数: 实例 一个 la

  • Python入门教程(十七)Python的While循环

    目录 Python 循环 while 循环 break 语句 continue 语句 else 语句 Python 循环 Python 有两个原始的循环命令: while 循环 for 循环 while 循环 如果使用 while 循环,只要条件为真,我们就可以执行一组语句. 实例 只要 i 小于 7,打印 i: i = 1 while i < 7: print(i) i += 1 运行实例 1 2 3 4 5 6 注释:请记得递增 i,否则循环会永远继续. while 循环需要准备好相关的变量

  • Python入门教程(二十七)Python的日期

    目录 Python 日期 日期输出 创建日期对象 strftime() 方法 Python 日期 Python 中的日期不是其自身的数据类型,但是我们可以导入名为 datetime 的模块,把日期视作日期对象进行处理. 实例 导入 datetime 模块并显示当前日期: import datetime x = datetime.datetime.now() print(x) 运行实例 2023-02-14 20:43:20.889388 日期输出 如果我们执行上面的代码,结果将是: 2019-0

  • Python入门教程(二十一)Python的数组

    目录 前言 数组 一.什么是数组? 访问数组元素 数组长度 循环数组元素 添加数组元素 删除数组元素 二.数组的内置方法 前言 在Python中没有内置对数组的支持,但可以使用 Python 列表代替 数组 数组用于在单个变量中存储多个值: 创建一个包含汽车品牌的数组: cars = ["Porsche", "Volvo", "BMW"] 一.什么是数组? 数组是一种特殊变量,能够一次包含多个值. 如果我们有一个项目列表(例如,汽车品牌列表),将

  • Python入门教程(二十九)Python的RegEx正则表达式

    RegEx 或正则表达式是形成搜索模式的字符序列. RegEx 可用于检查字符串是否包含指定的搜索模式. RegEx 模块 Python 提供名为 re 的内置包,可用于处理正则表达式. 导入 re 模块: import re Python 中的 RegEx 导入 re 模块后,就可以开始使用正则表达式了: 实例 检索字符串以查看它是否以 “China” 开头并以 “country” 结尾: import re txt = "China is a great country" x =

  • Python入门教程(二十八)Python中的JSON

    JSON 是用于存储和交换数据的语法. JSON 是用 JavaScript 对象表示法(JavaScript object notation)编写的文本. Python 中的 JSON Python 有一个名为 json 的内置包,可用于处理 JSON 数据. 实例 导入 json 模块: import json 解析 JSON - 把 JSON 转换为 Python 若有 JSON 字符串,则可以使用 json.loads() 方法对其进行解析. 结果将是 Python 字典 实例 把 JS

  • Python入门教程(二十五)Python的作用域

    目录 局部作用域 函数内部的函数 全局作用域 命名变量 Global 关键字 变量仅在创建区域内可用.这称为作用域. 局部作用域 在函数内部创建的变量属于该函数的局部作用域,并且只能在该函数内部使用. 实例 在函数内部创建的变量在该函数内部可用: def myfunc(): x = 100 print(x) myfunc() 运行实例 100 函数内部的函数 如上例中所示,变量 x 在函数外部不可用,但对于函数内部的任何函数均可用: 实例 能够从函数内的一个函数访问局部变量: def myfun

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

    目录 Python 类/对象 创建类 创建对象 init() 函数 对象方法 self 参数 修改对象属性 删除对象属性 删除对象 pass 语句 Python 类/对象 Python 是一种面向对象的编程语言. Python 中的几乎所有东西都是对象,拥有属性和方法. 类(Class)类似对象构造函数,或者是用于创建对象的“蓝图”. 创建类 如需创建类,请使用 class 关键字: 实例 使用名为 x 的属性,创建一个名为 MyClass 的类: class MyClass: x = 5 运行

  • Python入门教程(十六)Python的if逻辑判断分支

    目录 Python 条件和 If 语句 缩进 Elif Else 简写 If 简写 If … Else And Or 嵌套 If pass 语句 Python 条件和 If 语句 Python 支持来自数学的常用逻辑条件: 等于:a == b不等于:a != b小于:a < b小于等于:a <= b大于:a > b大于等于:a >= b 这些条件能够以多种方式使用,最常见的是“if 语句”和循环. if 语句使用 if 关键词来写. 实例 If 语句: a = 66 b = 200

  • python入门教程之基本算术运算符

    一.算术运算符 运算符 + - * / % **(幂)求次方 //(取整除,向下取整)如:9//2 =4 二.比较运算符 运算符 == != <>(不等于,类似!=) < > >= <= #举例说明: x = 10 y = 20 print(x > y) # False print(x < y) # True print(x >= y) # False print(x <= y) # True print(x == y) # False prin

随机推荐