Python从入门到实践第九章-类

9-1

class Restaurant():
    def __init__(self,restaurant_name,cuisine_type):
        self.restaurant_name = restaurant_name
        self.cuisine_type = cuisine_type
    def describe_restaurant(self):
        print(self.restaurant_name.title())
        print(self.cuisine_type.title())
    def open_restaurant(self):
        print("The restaurant is opening")
restaurant = Restaurant(‘quanjude‘,‘kaoya‘)
restaurant.describe_restaurant()
restaurant.open_restaurant()

9-2略

9-3      数字实参不加引号   好像是这样的。。因为报了错

class User():
    def __init__(self, first_name, last_name,age):
        self.first_name = first_name
        self.last_name = last_name
        self.age = age

    def describe_user(self):
        print(‘Name: ‘ +self.last_name + self.first_name+ ‘ age : ‘ + str(self.age) )

    def greet_user(self):
        print(‘Hello! ‘ + self.last_name + self.first_name)
user_a = User(‘xiangnai‘, ‘taonaimu‘,‘22‘)
user_b = User(‘yongmei‘, ‘shentian‘,‘23‘)
user_a.describe_user()
user_b.describe_user()
user_a.greet_user()
user_b.greet_user()

9-4 写95的时候发现这个题没看到后面的  不过和95差不多不补了

class Restaurant():
    def __init__(self,restaurant_name,cuisine_type):
        self.restaurant_name = restaurant_name
        self.cuisine_type = cuisine_type
        self.number_served=0
    def describe_restaurant(self):
        print(self.restaurant_name.title())
        print(self.cuisine_type.title())
    def open_restaurant(self):
        print("The restaurant is opening")
    def read_serve_number(self):
        print("The numer restanrant serverd is " +
                str(self.number_served))
restaurant = Restaurant(‘restaurant‘,‘aaa‘)
restaurant.describe_restaurant()
restaurant.read_serve_number()
restaurant.number_served = 20
restaurant.read_serve_number()
输出:
Restaurant
Aaa
The numer restanrant serverd is 0
The numer restanrant serverd is 20

9-5

class User():
    def __init__(self, first_name, last_name,age):
        self.first_name = first_name
        self.last_name = last_name
        self.age = age
        self.login_attemps = 0
    def describe_user(self):
        print(‘Name: ‘ +self.last_name + self.first_name+ ‘ age : ‘ + str(self.age) )

    def greet_user(self):
        print(‘Hello! ‘ + self.last_name + self.first_name)

    def increment_login_attemps(self):
        self.login_attemps += 1

    def read_login(self):
        print("Now the number of people logining is " + str(self.login_attemps))

    def reset_login(self):
        self.login_attemps = 0
user_a = User(‘san‘,‘zhang‘,‘20‘)
user_a.increment_login_attemps()
user_a.increment_login_attemps()
user_a.increment_login_attemps()
user_a.increment_login_attemps()
user_a.read_login()
user_a.reset_login()
user_a.read_login()
输出:
Now the number of people logining is 4
Now the number of people logining is 0

9-6

class Restaurant():
    def __init__(self,restaurant_name,cuisine_type):
        self.restaurant_name = restaurant_name
        self.cuisine_type = cuisine_type
    def describe_restaurant(self):
        print(self.restaurant_name.title())
        print(self.cuisine_type.title())
    def open_restaurant(self):
        print("The restaurant is opening")
class IceCreamStand(Restaurant):
    def __init__(self,restaurant_name,cuisine_type):
        super().__init__(restaurant_name,cuisine_type)
        self.flavors = []
    def set_flavors(self,flavors):
        self.flavors = flavors
    def describe_flavors(self):
        print("This is the flavors:" + str(self.flavors))#这里一开始没加str报错 can only concatenate str (not "list") to str  不懂为啥
Newres = IceCreamStand(‘quanjude‘,‘kaoya‘)
Newres.set_flavors([‘apple‘,‘orange‘,‘banana‘])
Newres.describe_flavors()
输出:
This is the flavors:[‘apple‘, ‘orange‘, ‘banana‘]

9-7  看别人的学了一手 end=‘‘, 可以继续后面print的内容 挺好用

class User():
    def __init__(self, first_name, last_name,age):
        self.first_name = first_name
        self.last_name = last_name
        self.age = age
        self.login_attemps = 0
    def describe_user(self):
        print(‘Name: ‘ +self.last_name + self.first_name+ ‘ age : ‘ + str(self.age) )

    def greet_user(self):
        print(‘Hello! ‘ + self.last_name + self.first_name)

    def increment_login_attemps(self):
        self.login_attemps += 1

    def read_login(self):
        print("Now the number of people logining is " + str(self.login_attemps))

    def reset_login(self):
        self.login_attemps = 0
class Admin(User):
    def __init__(self, first_name, last_name, age):
        super().__init__(first_name, last_name, age)  

        self.privileges = [‘can add post‘, ‘can delete post‘, ‘can ban user‘]  

    def show_privileges(self):
        print(‘管理员权限有:‘, end=‘‘)
        for privilege in self.privileges:
            print(privilege + ‘,‘, end=‘ ‘)

admin = Admin(‘San‘, ‘Zhang‘, ‘20‘)
admin.show_privileges()
输出:
管理员权限有:can add post, can delete post, can ban user,

9-8 略 编写一个类,然后admin中 self.pr... = pr...()

9-9

    def upgrade_battery(self):
        if self.battery_size!=85:
            self.battery_size=85

9-14

from random import randint

class Die():
    def __init__(self,sides=6):
        self.sides = sides
    def roll_die(self):
        print(randint(1,self.sides))
die_six = Die(6)
for i in range(10):
    die_six.roll_die()
die_ten = Die(10)
for i in range(10):
    die_ten.roll_die()
die_20 = Die(20)
for i in range(10):
    die_20.roll_die()

有点3分钟的感觉了。。要认真一点。

原文地址:https://www.cnblogs.com/zhangyueba/p/12249247.html

时间: 2024-10-05 05:05:39

Python从入门到实践第九章-类的相关文章

Python编程入门到实践 - 笔记(1,2章)

自学 Python 有段时间了,总是觉得自己基础不牢,想着把看完的两本基础书写个博客做个笔记啥的. 准备在重新看一遍<Python编程入门到实践>,坚持写博客笔记. Python编程入门到实践的前两章笔记,学习的内容如下: 查看当前环境中的 python 版本 python环境的搭建 变量和变量的命名 字符串的打印 修改字符串的大小写 制表符和换行符 删除空白字符 python的整数运算,计算平方,立方 使用 str() 函数 查看当前环境中的 python 版本 命令行下输入 python 

Python编程入门与实践pdf电子版下载

Python编程入门与实践pdf电子版下载 分享链接:https://pan.baidu.com/s/1h7TfuuUcaju8nkrMZgv-hg 提取码:7lo8 本书针对想要学习Python却无从下手的同学们准备的,希望好的资源能够给老铁提供有用的帮助 书籍目录 第一部分 基础知识 第1章 起步 1.1 搭建编程环境 1.1.1 Python 2和Python 3 1.1.2 运行Python代码片段 1.1.3 Hello World程序 1.2 在不同操作系统中搭建Python编程环境

Java 第九章 类的方法 (二)笔记

Java 第九章 类的方法 (二) 一.带参的语法:     访问修饰符 返回值类型 方法名称(参数列表){         方法体: }    例:public String getFuirt(String fuirt){    String zhi=fuirt+m+"汁";    return zhi; } 二.调用带参方法:      同类中, (非静态方法),方法名(参数列表):      不同类中,对象.方法名(参数列表): 三.带参方法的参数:     1.形参的数据类型和

通过游戏学python 3.6 第一季 第九章 实例项目 猜数字游戏--核心代码--猜测次数--随机函数和屏蔽错误代码--优化代码及注释--简单账号密码登陆--账号的注册查询和密码的找回修改--锁定账号--锁定次数--菜单功能&#39;menufile

通过游戏学python 3.6 第一季 第九章 实例项目 猜数字游戏--核心代码--猜测次数--随机函数和屏蔽错误代码--优化代码及注释--简单账号密码登陆--账号的注册查询和密码的找回修改--锁定账号--锁定次数--菜单功能'menufile 1 #猜数字--核心代码--猜测次数--随机函数和屏蔽错误代码---优化代码及注释--简单账号密码登陆--账号的注册查询和密码的找回修改--锁定账号--锁定次数--菜单功能'menufile' 2 #!usr/bin/env python 3 #-*-c

python入到到实战--第九章

第九章  类 面向对象编程 是最有效的软件编写方法之一. 在面向对象编程中, 你编写表示现实世界中的事物和情景的类, 并基于这些类来创建对象. 编写类时, 你定义一大类对象都有的通用行为. 基于类创建对象 时, 每个对象都自动具备这种通用行为, 然后可根据需要赋予每个对象独特的个性. 根据类来创建对象被称为实例化 , 这让你能够使用类的实例. 创建和使用类 class Dog():  """一次模拟小狗的简单尝试"""  def __init__

分享《Python数据挖掘入门与实践》高清中文版+高清英文版+源代码

下载:https://pan.baidu.com/s/1J7DOGrjoF7HnaSZ8LvFh_A更多资料分享:http://blog.51cto.com/3215120 <Python数据挖掘入门与实践>高清中文版+高清英文版+源代码 高清中文版PDF,251页,带目录和书签,能够复制粘贴:高清英文版PDF,344页,带目录和书签,能够复制粘贴:中英文两版可以对比学习. 配套源代码: 经典书籍,讲解详细: 其中高清中文版如图 原文地址:http://blog.51cto.com/32151

分享《Python数据挖掘入门与实践》+PDF+源码+]Robert Layton+杜春晓

下载:https://pan.baidu.com/s/1vsWQvQFo_EzhUqdQS1G3_w更多资料分享:http://blog.51cto.com/14087171 <Python数据挖掘入门与实践>高清中文版+高清英文版+源代码 高清中文版PDF,251页,带目录和书签,文字能够复制粘贴:高清英文版PDF,344页,带目录和书签,文字能够复制粘贴:中英文两版可以对比学习. 配套源代码: 经典书籍,讲解详细: 其中高清中文版如图 原文地址:http://blog.51cto.com/

D3.js的v5版本入门教程(第九章)——完整的柱状图

D3.js的v5版本入门教程(第九章) 一个完整的柱状图应该包括的元素有——矩形.文字.坐标轴,现在,我们就来一一绘制它们,这章是前面几章的综合,这一章只有少量新的知识点,它们是 d3.scaleBand():这也是一个坐标轴,可以根据输入的domain的长度,等分rangeRound域(类比range域)d3.range():这个比较复杂,建议去看百度(或者官方API),在这里我只讲一下这个返回一个等差数列    1.得到SVG画布 var marge = {top:60,bottom:60,

Django入门与实践 17-26章总结

Django入门与实践-第17章:保护视图 Django 有一个内置的视图装饰器 来避免它被未登录的用户访问: 现在如果用户没有登录,将被重定向到登录页面: 现在尝试登录,登录成功后,应用程序会跳转到原来所在的位置. Django入门与实践-第18章:访问已登录用户 现在我么可以改进 new_topic 视图,将发布主题的用户设置当前登录的用户,取代之前直接从数据库查询出来的第一个用户, 之前这份代码是临时的,因为那时候还没有方法去获取登录用户,但是现在可以了: 有两个关键字参数,pk用于唯一标