在Python中,没有直接的“结构体”概念,但我们可以使用类(class)来模拟结构体的功能,结构体通常用于C语言等低级编程语言中,用于存储不同类型的数据,在Python中,我们可以使用类来实现类似的功能,以下是如何在Python中创建和使用类的详细教程。
(图片来源网络,侵删)1、定义类
要创建一个类,我们使用关键字class
,后面跟着类名和冒号,类名通常采用驼峰命名法,即每个单词的首字母大写,其余字母小写,我们可以创建一个名为Person
的类:
class Person: pass
2、添加属性和方法
在类的定义中,我们可以添加属性和方法,属性是类的变量,方法则是类的函数,我们可以为Person
类添加一个名为name
的属性和一个名为say_hello
的方法:
class Person: name = "" def say_hello(self): print("Hello, my name is", self.name)
3、初始化方法
在Python中,我们可以使用特殊的方法__init__
来初始化类的属性,当创建类的实例时,__init__
方法会自动调用,我们可以在Person
类中添加一个__init__
方法来初始化name
属性:
class Person: def __init__(self, name): self.name = name def say_hello(self): print("Hello, my name is", self.name)
4、创建实例
要创建一个类的实例,我们使用类名后跟括号,括号内包含实例的属性值,我们可以创建一个名为p1
的Person
实例:
p1 = Person("Alice")
5、访问属性和方法
要访问实例的属性和方法,我们使用点号(.
),我们可以访问p1
的name
属性和调用其say_hello
方法:
print(p1.name) # 输出 "Alice" p1.say_hello() # 输出 "Hello, my name is Alice"
6、继承
在Python中,我们可以使用关键字class
后跟基类名和冒号来创建子类,子类可以继承基类的属性和方法,我们可以创建一个名为Employee
的子类,继承自Person
类:
class Employee(Person): pass
7、重写方法
如果子类需要覆盖基类的某个方法,我们可以在子类中使用相同的方法名和参数列表,这样,当我们调用子类的该方法时,将执行子类中的实现而不是基类中的实现,我们可以在Employee
类中重写say_hello
方法:
class Employee(Person): def say_hello(self): print("Hello, I'm an employee. My name is", self.name)
8、添加新属性和方法
除了继承基类的属性和方法外,我们还可以在子类中添加新的属性和方法,我们可以为Employee
类添加一个名为salary
的属性和一个名为calculate_bonus
的方法:
class Employee(Person): def __init__(self, name, salary): super().__init__(name) self.salary = salary def calculate_bonus(self): return self.salary * 0.1
9、创建子类实例并访问属性和方法
要创建一个子类的实例,我们使用子类名后跟括号,括号内包含实例的属性值,我们可以访问子类的实例的属性和方法:
e1 = Employee("Bob", 5000) print(e1.name) # 输出 "Bob" print(e1.salary) # 输出 5000 e1.say_hello() # 输出 "Hello, I'm an employee. My name is Bob" print(e1.calculate_bonus()) # 输出 500.0 (假设奖金为工资的10%)
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。