zoukankan      html  css  js  c++  java
  • 绑定方法与非绑定方法的使用

    '''
    name = 'alex'
    age = 18
    sex = 'female'
    '''

    # -----------------------------------
    import setings
    import hashlib
    import time

    class People:
    def __init__(self,name,age,sex):
    self.id= self.create_id()
    self.name=name
    self.age=age
    self.sex=sex

    def tell_info(self):
    print('Name:%s Age:%s Sex;%s Id:%s' % (self.name,self.age,self.age,self.id))
    # 绑定给对象,就应该由对象来调用,自动将对象本身当作第一个参数传入

    @classmethod
    def from_conf(cls):
    obj= cls(setings.name,
    setings.age,
    setings.sex
    )
    return obj
    # 绑定给类,就应该有类来调用,自动将类本身当作第一个参数传入


    @staticmethod
    def create_id():
    m = hashlib.md5(str(time.time()).encode('utf-8'))
    return m.hexdigest()
    # 非绑定方法,不与类或者对象绑定,谁都可以调用没有自动传值一说
    p1 = People('kingforn',28,'male')
    p1.tell_info()

    p2 = People.from_conf() # from_conf(People)
    p2.tell_info()

    '''
    执行结果:
    Name:kingforn Age:28 Sex;28 Id:62586d7416e5fc7745fc3463474b1d71
    Name:alex Age:18 Sex;18 Id:62586d7416e5fc7745fc3463474b1d71

    '''
     
  • 相关阅读:
    elasticsearch head插件安装
    ELK部署配置使用记录
    windows 安装mysql
    vs2017创建dotnetcore web项目,并部署到centos7上
    CentOS 7 安装jdk
    CentOS 7 配置网络
    Surging 记录
    记录一下地址
    net core 依懒注入 中间件
    Elasticsearch 配置文件
  • 原文地址:https://www.cnblogs.com/kingforn/p/11344040.html
Copyright © 2011-2022 走看看