《Python编程从入门到实践》记录之类的创建

1、创建类

下边类是一个表示小狗的类,存储了名字和年龄,以及小狗蹲下(sit())和打滚(roll_over())的能力:

# 定义类名
class Dog():
    """一次模拟小狗的简单尝试"""  # 文档字符串描述类功能

    def __init__(self, name, age):
        """初始化属性name和age"""
        self.name = name
        self.age = age

    def sit(self):
        """模拟小狗被命令时蹲下"""
        print(self.name.title() + " is now sitting.")

    def roll_over(self):
        """模拟小狗被命令时打滚"""
        print(self.name.title() + " rolled over!")

根据上述代码讲解类:

  • 类的名字为Dog,在Python中,类名称的首字母要大写
  • 类也需要有文档字符串,对类的功能进行描述
  • 类中的函数称为方法
  • 方法_init_():一个特殊的方法,创建类示例时,Python会自动运行。开头和末尾各有两个下划线,是一种约定,为了避免Python默认方法与普通方法发生名称冲突。_init_()方法中,必须包含self形参,且必须放在最前面,它是指向示例本身的引用,每个与类相关联的方法都自动传递实参self(所以在创建类示例时,不用提供传递值)。
  • self.name和self.age:两个变量都有前缀self,以self为前缀的变量都可供类中的所有方法使用,也可以通过类的任何示例来访问这些变量。

2、根据类创建实例

#!/usr/bin/env python
# -*- coding:utf-8 -*-


class Dog():
    """一次模拟小狗的简单尝试"""

    def __init__(self, name, age):
        """初始化属性name和age"""
        self.name = name
        self.age = age

    def sit(self):
        """模拟小狗被命令时蹲下"""
        print(self.name.title() + " is now sitting.")

    def roll_over(self):
        """模拟小狗被命令时打滚"""
        print(self.name.title() + " rolled over!")


my_dog = Dog('willie', 6)  # 创建一个类实例

print("My dog's name is " + my_dog.name.title() + ".")  # 访问name属性的值
print("My dog is " + str(my_dog.age) + " years old.")  # 访问属相age的值

my_dog.sit()  #  访问类方法
my_dog.roll_over()

类实例中,可以使用句点表示法访问类的属性值,如my_dog.name何my_dog.age。

同时,也可以使用句点表示发访问类的方法


上诉代码运行结果为:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值