python中的类

python中的类

  • 类(Class)是一种定义对象的蓝图,它描述了一组具有相同属性和方法的对象
class Dog():
    """模拟小狗的简单尝试"""
    
    def __init__(self, name, age):
        """初始化属性name和age"""
        self.name = name
        self.age = age
    
    def sit(self):
        """模拟小狗被命令时蹲下"""
        print(f"{self.name.title()} is now sitting.")
    
    def roll_over(self):
        """模拟小狗被命令时打滚"""
        print(f"{self.name.title()} rolled over!")

class Restaurant():
    def __init__(self):
        self.restaurant_name = 'Rose'
        self.cuisine_type = 'snack'
        self.number_served = '0'
    def describe_restaurant(self):

        print(self.restaurant_name,self.cuisine_type,self.number_served)
    def open_restaurant(self):
        print('The restaurant is open!')

    def set_number_serverd(self,number = 0):
        self.number_served = number

    def increment_number_serverd(self):
        self.number_served += 10
  • 类定义通常包括以下几个部分:
    • 类名:类名首字母大写,遵循驼峰命名法,表明这是一个类。
    • 文档字符串:在类定义下方的多行字符串,描述类的功能和用途。
    • 初始化方法(init):构造函数,当创建类的实例时自动调用,用于初始化实例的属性。
    • 属性:类中定义的变量,可以是实例属性(通过self访问,每个实例独立)或类属性(直接在类中定义,所有实例共享)。
    • 方法:类中的函数,至少有一个参数self,用于访问实例的属性或执行特定操作
实例化
  • 实例化(Instantiation)则是根据类创建具体对象的过程
my_dog = Dog('Buddy', 3)    # 创建一只名为Buddy,年龄为3岁的小狗实例

//调用方法
my_dog.sit()     # 命令Buddy坐下
my_dog.roll_over()  # 命令Buddy打滚

// 创建多个实例
your_dog = Dog('Max', 5)
print(f"\nYour dog's name is {your_dog.name.title()}, and it's {your_dog.age} years old.")
your_dog.sit()
继承
  • 在定义子类时,需要在类名后的括号内指定父类的名称
class ChildClass(ParentClass):
    """子类定义。"""
    pass

class IceCreamStand(Restaurant):
    def __init__(self):
    //子类的构造函数通常使用super()函数来调用父类的构造函数,以初始化父类的属性。
        super().__init__()
        self.flavors = ['chocolates','fruits','margarine']

    def show_icecream(self):
        for i in self.flavors:
            print(i)
ice = IceCreamStand()
ice.show_icecream()

模块

  • 模块是Python程序的一个文件,其中包含定义和语句法(变量、函数、类、其他定义等)
  • 为何使用模块?
    • 重用性:编写一次,多处使用多次。模块允许你编写通用功能并在多个项目中使用。
    • 组织:模块帮助组织大型项目,使得代码易于管理和导航。
    • 命名空间:模块提供了独立的命名空间,减少全局变量冲突。
    • 标准库:Python标准库本身就是一系列模块,提供了丰富的功能,从网络编程到文本处理,无所不包。
  • 如何使用模块?
    • 导入:使用import语句法导入模块,如import math。这允许你使用模块中的所有公开的名称,如math.sqrt()。
    • 别名导入:from语句法可以导入模块中的特定部分,如from math import sqrt,之后直接使用sqrt()。
    • as:重命名别名,如import math as m,之后使用m.sqrt()。

  • 包是模块的目录,它包含了一个__init__.py文件(可以为空),这使得Python将其识别为包
  • 为何使用包?
    • 组织:特别是大型项目或库,包帮助组织成逻辑单元。
    • 命名空间:包名作为前缀,避免模块名冲突。
    • 重用性:包可以跨项目重用,尤其是当你将公共功能封装为库时
  • 如何创建和使用包?
    • 目录结构:创建一个包含__init__.py的目录,此目录即为包。
    • 导入:如同模块,使用import或from导入包或包内的模块,如import mypackage.module或from mypackage import module。
    • 子包:包内可以嵌套子包,形成树状结构,通过点记法访问,如from mypackage.subpackage import submodule
my_project/
│
├── my_package/
│   ├── __init__.py
│   └── my_module.py
└── main.py
//在my_module.py中定义函数
def greet():
    print("Hello from my module!")

//在main.py中使用
import my_package

my_package.greet()  # Hello from my module!
  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值