• 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是一样的
    '''
  • 相关阅读:
    HDU 1015(字符运算 **)
    IOS7中自动计算label的宽度和高度的方法
    IOS开发UI基础文本属性Attributes
    IOS开发UI基础UIControl事件
    IOS开发UI基础UIImagePickerController的属性
    IOS开发UI基础UITableView的属性
    IOS开发UI基础UIActivityIndicatorView的属性
    IOS开发UI基础 UIAlertView的属性
    IOS开发UI基础UIImageView属性属性
    IOS开发UI基础 UIDatePicker的属性
  • 原文地址:https://www.cnblogs.com/gotesting/p/9982372.html
Copyright © 2020-2023  润新知