首页 > 编程语言 >12.15----python类

12.15----python类

时间:2023-12-14 17:44:06浏览次数:43  
标签:__ name python self ---- 12.15 print my def

class User:
    def __init__(self,first_name,last_name):
        """初始化姓和名"""
        self.f_name = first_name
        self.l_name = last_name
        
    def describe_user(self):
        """返回整洁的描述性姓名"""
        full_name = f"{self.f_name}{self.l_name}"
        return full_name
    
    def greest_user(self):
        """问候语"""
        print(f"恭喜{self.describe_user()}完成了本次练习")
         
class Admin:
    """初始化管理类的属性"""
    def __init__(self,privileges = ["添加帖子","删除帖子","禁止帖子"]):
        self.privileges = privileges
        
    def show_privieges(self):
        """描述管理特权的信息"""
        print(f"管理员的特权:{self.privileges}")
        
class Privileges(User):
    """初始化特权的属性"""
    def __init__(self,first_name,last_name):
        super().__init__(first_name,last_name)
        self.admin = Admin()
        
my_name = Privileges('叶','辰')
print(my_name.describe_user())
my_name.greest_user()
my_name.admin.show_privieges()

your_name = User('林','凡')
print(your_name.describe_user())
your_name.greest_user()

who_name = User('萧','峰')
print(who_name.describe_user())
who_name.greest_user()

 

class Restaurant:
    """创建一个名为餐馆的类"""
    def __init__(self,name,type):
        """初始化餐馆的名字和菜式类型"""
        self.restaurant_name = name
        self.cuisine_type = type
        
    def get_descriptive(self):
        """描述信息"""
        descriptive = f"这个餐厅的名字叫{self.restaurant_name},其擅长{self.cuisine_type}"
        return descriptive
    
    def open_restaurant(self):
        """餐馆正在营业"""
        print(f"{self.restaurant_name}正在营业")
        
class IceCreamStand(Restaurant):
    """
    初始化父类的属性
    再初始化冰淇淋的属性
    """
    def __init__(self,name,type):
        super().__init__(name,type)         # super(). 直接调用父类的方法
        self.flavors = ['香草味','香芋味','菠萝味','抹茶','巧克力','奶油泡芙','奶油泡芙','圣代冰淇淋']
        
    def descriptive_icecream(self):
        """描述冰淇淋的消息"""
        print(f"冰淇淋的口味如下:{self.flavors}")
        
my_restaurant = Restaurant('杰西庄','五湖四海各式各样的菜式')
print(my_restaurant.get_descriptive())
my_restaurant.open_restaurant()

my_ice = IceCreamStand('甜心','各种不同口味的冰淇淋')
print(my_ice.get_descriptive())
my_ice.open_restaurant()

my_ice.descriptive_icecream()

 继承可以把父类的所有功能都直接拿过来,不用重零做起,子类只需要新增自己特有的方法,也可以把父类不适合的方法覆盖重

标签:__,name,python,self,----,12.15,print,my,def
From: https://www.cnblogs.com/jc13052/p/17901021.html

相关文章

  • 【大数相加链表模拟】
    leetcode2.两数相加题意:两个长度为[1,100]的大数,分别倒序存储(个位在链表头)在两个链表中,计算两个数的和,并倒序存储在一个新链表,返回链表表头。数据中不存在前导零。题解:模拟大数相加,注意维护进位carry即可代码/***Definitionforsingly-linkedlist.*publicclassL......
  • 5G NR RRC协议解析—NR系统消息
    5GNRRRC协议解析—NR系统消息来源  https://zhuanlan.zhihu.com/p/606227190  01系统消息是什么?系统消息是由基站周期性地在下行链路的广播信息,其内容包含了该基站的基础配置信息、空口(Uu接口)协议层的关键参数等。因此,系统信息对于UE而言非常重要。对于任何移动通信系......
  • 汇编-JGE有符号大于等于则跳转
      .386.modelflat,stdcalloptioncasemap:none.stack4096IncludeIrvine32.incincludelibIrvine32.libExitProcessPROTO,dwExitCode:DWORD.data.codemainPROCmoveax,+100cmpeax,+10jgelabel0;有符号大于......
  • STM32在CTF中的应用和快速解题
    题目给的是bin文件,基本上就是需要我们手动修复的固件逆向。如果给的是hex文件,我们可能需要使用MKD进行动态调试主要还是以做题为目的详细的可以去看文档:https://pdf1.alldatasheet.com/datasheet-pdf/view/201596/STMICROELECTRONICS/STM32F103C8T6.htmlSVD文件下载:https://gi......
  • 2023-2024-1 20232312 《网络空间安全导论》第六周学习
    2023-2024-120232312《网络空间安全导论》第六周学习教材学习内容总结6.1应用安全概述应用安全情况概述:在各类应用服务系统重,身份认证是保障应用安全的基础,其不仅仅包括传统的人的身份认证、软件等网络实体都需要身份认证和可信管理。不同场景、不同约束条件下都需要采用......
  • dumpbin的使用方法_dumpbin 的基础使用
    要查看exe依赖哪些动态库或某个DLL包含哪些接口函数依赖哪些动态库,可以使用depends工具或者vs自带的dumpbin工具,这里使用vs自带的dumpbin启动dumpbin是使用vs命令行的,有两种方法打开:1、打开vs,工具-命令行-开发者命令提示2、开始菜单-visualstdioxxxx-命令提示符使用使用......
  • Centos7虚拟机连不上网络
    使用VM创建并安装Centos7,完成之后发现网络不通(pingjd.com可以试一下)解决方法:1、在创建虚拟机的时候选择的是NAT模式 2、在虚拟机中,编辑->虚拟网络编辑器(记住子网IP、子网掩码、网关) 点击NAT设置 3、在Centos7中输入ipaddr,在这里是ens33(记住mac地址)4、在Centos7中输......
  • kubeadm手动更新节点的kubelet证书
    问题描述在kubernetes-dev-worker-2节点某次重启服务器之后发现kubelet不可用,其/var/lib/kubelet/pki/kubelet-client-current.pem证书中的内容空了(不知道咋回事),所以不能再注册到kube-api中。处理过程:1.在master节点,执行一下,表示给kubernetes-dev-worker-2节点生成新的kubelet.......
  • 手动安装LAMP——在 CentOS 7 上安装 PHP、Apache 和 MariaDB(替代 MySQL)
    在CentOS7上安装PHP、Apache和MariaDB(替代MySQL)的过程如下:1.更新系统:sudoyumupdate2.安装Apache:sudoyuminstallhttpd3.启动Apache服务并设置开机自启:sudosystemctlstarthttpdsudosystemctlenablehttpd4.安装MariaDB:sudoyuminstallmariadb-server......
  • 04 - 矩阵键盘
    04-矩阵键盘前言LCD1602液晶屏在学习使用矩阵键盘之前,为了后续的调试和显示,有必要简单了解一下LCD1602液晶屏的使用方法。江协科技已经给我们提供了模块化的代码,所以我们只需要调用对应方法就可以了,常用方法如下:至于LCD1602具体如何操作使用,后续会有,暂时就先放一边扫描的......