首页 > 编程语言 >python基础——基础代码每日复习002

python基础——基础代码每日复习002

时间:2024-04-03 16:27:05浏览次数:22  
标签:__ 复习 python self Employee 002 实例 print name

面向对象:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
class Employee:
    '所有员工的基类'
    empCount = 0

    def __init__(self, name, salary):
        self.name = name
        self.salary = salary
        Employee.empCount += 1

    def displayCount(self):
        print("Total Employee %d" % Employee.empCount)

    def displayEmployee(self):
        print("Name : ", self.name, ", Salary: ", self.salary)

ey = Employee("小王",100.9)
ey.displayCount()
ey.displayEmployee()

ey = Employee("小张",100.9222)
ey.displayCount()
ey.displayEmployee()

print(Employee.empCount)

 

 

 

 

 

 

 

 

 

self 代表的是类的实例,代表当前对象的地址,而 self.__class__ 则指向类。
class Employee:
    '所有员工的基类'
    empCount = 0

    def __init__(self, name, salary):
        self.name = name
        self.salary = salary
        Employee.empCount += 1
    def displayCount(self):
        print(self)                 #self 代表的是类的实例,代表当前对象的地址,而 self.__class__ 则指向类。
        print(self.__class__)

    def displayEmployee(self):
        print(self)                 #self 代表的是类的实例,代表当前对象的地址,而 self.__class__ 则指向类。
        print(self.__class__)

ey = Employee("小王",100.9)
ey.displayCount()
ey.displayEmployee()
print("==================================================")
ey = Employee("小张",100.9222)
ey.displayCount()
ey.displayEmployee()

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

添加,删除,修改类的属性

class Employee:
    '所有员工的基类'
    empCount = 0

    def __init__(self, name, salary):
        self.name = name
        self.salary = salary
        Employee.empCount += 1

    def displayCount(self):
        print("Total Employee %d" % Employee.empCount)

    def displayEmployee(self):
        print("Name : ", self.name, ", Salary: ", self.salary)

"创建 Employee 类的第一个对象"
emp1 = Employee("Zara", 2000)
emp1.displayEmployee()
print("---------------------------------------------------------------")
"创建 Employee 类的第二个对象"
emp2 = Employee("Manni", 5000)
emp2.displayEmployee()
print("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++")
print("Total Employee %d" % Employee.empCount)
print("===========================================================")
emp1.age = 7  # 添加一个 'age' 属性
emp1.age = 8  # 修改 'age' 属性
print(emp1.age)
del emp1.age  # 删除 'age' 属性

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 类属性的分类和类方法的分类:

'''

1、类体中、所有函数之外:此范围定义的变量,称为类属性或类变量;

2、类体中,所有函数内部:以“self.变量名”的方式定义的变量,称为实例属性或实例变量;

3、类体中,所有函数内部:以“变量名=变量值”的方式定义的变量,称为局部变量。

'''


'''

1、采用 @classmethod 修饰的方法为类方法;

2、采用 @staticmethod 修饰的方法为静态方法;

3、不用任何修改的方法为实例方法。——在类中定义的方法默认都是实例方法。不仅如此,类的构造方法理论上也属于实例方法,只不过它比较特殊。
                            实例方法最大的特点就是,它最少也要包含一个 self 参数,用于绑定调用此方法的实例对象(Python 会自动完成绑定)。实例方法通常会用类对象直接调用

'''










#Python类实例方法



class CLanguage:
    #类构造方法,也属于实例方法
    def __init__(self):
        self.name = "C语言中文网"
        self.add = "http://c.biancheng.net"
    # 下面定义了一个say实例方法
    def say(self):
        print("正在调用 say() 实例方法")


clang1 = CLanguage()
clang1.say()

print("----------------------------------")

#类名调用实例方法,需手动给 self 参数传值
clang2 = CLanguage()
CLanguage.say(clang2)











print("====================================================")









#Python类方法

'''

#注意,如果没有 @classmethod,则 Python 解释器会将 fly() 方法认定为实例方法,而不是类方法。
#类方法推荐使用类名直接调用,当然也可以使用实例对象来调用(不推荐)


'''

class CLanguage:
    #类构造方法,也属于实例方法
    def __init__(self):
        self.name = "C语言中文网"
        self.add = "http://c.biancheng.net"

    #下面定义了一个类方法
    @classmethod
    def info(cls):
        print("正在调用类方法",cls)


#使用类名直接调用类方法
CLanguage.info()


print("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++")


#Python类静态方法

'''

静态方法,其实就是我们学过的函数,和函数唯一的区别是,静态方法定义在类这个空间(类命名空间)中,而函数则定义在程序所在的空间(全局命名空间)中。

静态方法没有类似 self、cls 这样的特殊参数,因此 Python 解释器不会对它包含的参数做任何类或对象的绑定。也正因为如此,类的静态方法中无法调用任何类属性和类方法。


'''



class CLanguage:
    @staticmethod
    def info(name,add):
        print(name,add)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

123

标签:__,复习,python,self,Employee,002,实例,print,name
From: https://www.cnblogs.com/xiaobaibailongma/p/18112957

相关文章

  • python发邮件(文件内容在邮件中展现)
     python3.6#!/usr/bin/envpython#coding=utf-8importsmtplibfromemail.mime.textimportMIMETextfromemail.mime.multipartimportMIMEMultipartfromemail.headerimportHeaderimportdatetimeimporttimemail_host="mail.test.com:465"ma......
  • 03 Python进阶:MySQL
    mysql-connector安装要在Python中使用MySQL数据库,你需要安装MySQL官方提供的MySQLConnector/Python。下面是安装MySQLConnector/Python的步骤:首先,确保你已经安装了Python,如果没有安装,可以在Python官网(https://www.python.org)下载并安装最新版本的Python......
  • 使用 Python 模拟布朗运动(和股票价格)
    一、说明        本文先介绍布朗运动的概念,紧接着应用布朗方程到股票的随机斩落模型。进而用python实现,并给出各种各样的条件模型。从中烘托出股票模型的规律所在。二、什么是布朗运动?   ......
  • P1434 [SHOI2002] 滑雪
    链接:https://www.luogu.com.cn/problem/P1434题目:思路:找每个点的小于链的长度,存在lenless里;找每个点的大于链,存在于lengreat中。然后两个相加,排序,选择最大的那个数字。注意这里长度要加1,因为没有加上自己的(初始数据设置成0)!(按理说其实每个都少了1,所以应当全加1再排序,但是改变......
  • huggingface模型使用Python,智普清言,图生文,文本转语音
    完整代码fromtransformersimportpipelinefromzhipuaiimportZhipuAIclient=ZhipuAI(api_key='智普清言的API_KEY')importjsonimportrequestsdeftext2speech(message):headers={"Authorization":"Bearerhuggingface的token"}AP......
  • Python学习从0到1 day20 第二阶段 面向对象 ② 封装
    缘分朝生暮死犹如露水          ——24.4.1学习目标:1.理解封装的概念2.掌握私有成员的使用一、面向对象三大特性:面向对象编程,是许多编程语言都支持的一种编程思想简单理解是:基于模板(类)去创建实体(对象),使用对象完成功能开发面向对象包含三大主......
  • Python实现动态进度条
    ★进度条基本实现功能代码importsysimporttime#进度条-功能演示defprogress_bar_demo(title,symbol):forperinrange(1,101):print("\r",end="")print(f"【{title}】:{per}%:{symbol*(per//2)}",end=""......
  • mysql基于二次注入(基于时间)盲注,python脚本
    根据mysql二次注入原理,存储型注入利用,先注册,再登陆、再调用修改密码,完成自动时间盲注类型判断,实现脱裤借用:“孤桜懶契”大佬的脚本#--coding:UTF-8--#Author:孤桜懶契#Date:2021/8/10#blog:gylq.gitee.ioimportrequestsimporttimeflag=""#***************......
  • Python框架下的qt设计之JSON格式化转换小程序
    JSON转换小程序代码展示:主程序代码:fromPyQt6.QtWidgetsimport(QApplication,QDialog,QMessageBox)importsysimportjsonclassMyJsonFormatter(jsonui.Ui_jsonFormatter,QDialog):#jsonui是我qt界面py文件名def__init__(self):supe......
  • Python-脆弱性信息收集
    公司做系统集成,有搜集产品脆弱性需求,包括cisco,vmware,redhat,F5等厂家。如:SecurityAdvisories具体需求:1.每天定时搜集十来个网络设备厂家网站新发布的脆弱性2.根据产品和等级不同,邮件发给不同公司人员,内容包括:新脆弱性链接,脆弱性标题,CVE编号,发布时间等2.不能发送重复脆弱性......