Python基础语法重温第五天

以C语言为代表的面向过程的编程语言,核心思想是以计算机能够理解的逻辑去分析问题解决问题,算法和数据结构是关键。
Python既可以面向过程,也可以面向对象。
面向对象的核心思想是以符合人的思维习惯去分析问题、分解问题、解决问题。万物皆对象。 关注特征和行为。
1.分析对象,定义对象的需要关注的属性、特征、方法、行为,总结出其中的关系。
2.类定义对象代码模板(蓝图),Class关键字。
3.实例化(内存对象),模拟过程。
多态:属于同一类型的不同实例,对同一个消息做出不同的响应。

import datetime


class Book:
    # 初始化,参数可以有默认值。self为实例化对象
    def __init__(self, title, price=0.0, author='', publisher=None, pubdate=datetime.date.today()):
        self.title = title
        self.price = price
        self.author = author
        self.publisher = publisher
        self.pubdate = pubdate

    def __repr__(self):  #Terminal下显示的信息
        return '<图书 {}>'.format(self.title)

    def print_info(self):
        print('信息如下:')
        print('标题:{}'.format(self.title))
        print('定价:{}'.format(self.price))
        print('作者:{}'.format(self.author))
        print('出版社:{}'.format(self.publisher))
        print('出版时间:{}'.format(self.pubdate))


book1 = Book('Python', 30, 'Tom', '工作室', datetime.date(2020, 2, 22))
book1.print_info()

book2 = Book('C#入门')
book2.price = 55
book2.print_info()
----------------------
class Book:
    def __init__(self, title, price=0.0, author=None):
        self.title = title
        self.price = price
        self.author = author

    # 控制台输出类信息
    def __repr__(self):
        return '<图书:{} at 0x{}>'.format(self.title, id(self))

    def print_info(self):
        print(self.title, self.price, self.author)

    # 调用print产生的结果,若没写,默认使用__repr__内置方法
    def __str__(self):
        return '<图书:{},定价:{}>'.format(self.title, self.price)
import datetime


class Student:
    def __init__(self, name, birthdate):
        self.name = name
        self.birthdate = birthdate

    # 属性age
    @property
    def age(self):
        return datetime.date.today().year - self.birthdate.year

    # 禁止年龄赋值
    @age.setter
    def age(self, value):
        raise AttributeError('禁止赋值')

    # 禁止删除
    @age.deleter
    def age(self, value):
        raise AttributeError('禁止删除')


if __name__ == '__main__':
    s = Student('Tom', datetime.date(1989, 2, 10))
    print(s.birthdate)
    print(s.get_age)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值