zoukankan      html  css  js  c++  java
  • python

    # -*- coding:utf-8 -*-

    '''
    @project: jiaxy
    @author: Jimmy
    @file: study_类与对象.py
    @ide: PyCharm Community Edition
    @time: 2018-11-19 09:43
    @blog: https://www.cnblogs.com/gotesting/

    '''


    '''
    类与对象

    class 类名:
    属性:变量
    行为:函数

    类名规范:驼峰命名法:TestEnginner
    '''

    class SeniorTestingEnginner:
    # 属性
    workyear = 3
    salary = 20000

    # 行为

    # 对象方法
    def coding(self,language,a=500,*args,**kwargs):
    # self:标识此方法为对象方法,只能由对象来调用
    print('此处打印self:{0}'.format(self))
    print('会写{0}代码,写了{1}行'.format(language,a))
    print('动态参数:{0}'.format(args))
    print('关键字参数:{0}'.format(kwargs))
    print('self:工作年限是{0}年,月薪是{1}'.format(self.workyear,self.salary))
    self.do_function_testing() #调用对象方法
    self.do_sql('oracle') #调用静态方法
    self.do_linux() #调用类方法
    return 'return动态参数{0}:'.format(args)

    # 静态方法:不需要特意创建实例来调用
    @staticmethod
    def do_sql(name):
    print('会操作{0}数据库'.format(name))

    # 类方法
    @classmethod
    def do_linux(cls):
    print('此处打印cls:{0}'.format(cls))
    print('cls:工作年限是{0}年,月薪是{1}'.format(cls.workyear,cls.salary))

    def do_function_testing(self):
    print('会功能测试')

    def do_auto_testing(self):
    print('会自动化测试')

    def do_api_testing(self):
    print('会接口测试')

    # 万物皆对象对象拥有类里面的所有属性和函数的使用权
    # 实例化对象 类名()
    p1 = SeniorTestingEnginner()
    print('此处打印对象:{0}'.format(p1))
    p1.coding('python',5000,1,2,3,4,name='Jimmy',hobby='play')
    t = p1.coding('python',5000,1,2,3,4,name='Jimmy',hobby='play')
    print(t)

    # 静态方法 @staticmethod装饰的 调用方法: 类名.函数名()
    SeniorTestingEnginner.do_sql('mysql')

    # 类方法 @classmethod装饰的 调用方法:类名.函数名()
    SeniorTestingEnginner.do_linux()

    '''
    区别

    1. 对象方法:self ; 静态方法:@staticmethod装饰 ; 类方法:@classmethod装饰
    2. 对象方法可以通过self调用类里面的任意属性值;类方法可以同cls来调用类里面的任意属性值;静态方法无法调用属性值
    3. 如果一个方法与类里面的属性没有关联,可以使用静态方法
    4. 对象方法、类方法、静态方法 都支持对象调用
    5. 类方法、静态方法支持类名直接调用
    '''

    '''
    1. 参数: 位置参数 默认参数 动态参数 关键字参数,通通都可以加
    2. return: 与普通函数的return是一样的
    '''
  • 相关阅读:
    SQL 三种Join关联示例
    EntityFramework 更新 整个记录全部字段不确定字段
    C# 生成Excel 报错COMException(0x800A03EC)
    EntityFramework4 几种报错解决方法
    Machine learning lecture2 note
    谷歌360度街景拍摄车对日本核电站污染隔离区进行拍摄
    android电池电量状态代码
    唠骚 2013年终奖
    互联网手机的围城:小米顶多再风光一年(转载)
    AIX下c3p0连接池问题
  • 原文地址:https://www.cnblogs.com/gotesting/p/9982372.html
Copyright © 2011-2022 走看看