python 类

class person:
    name = 'xxp'
    age = 18
    def intro(self):
        print('my name is ' + self.name)
        
p = person()
'''
    pay attention to distinguish between p.intro and p.intro()
'''
p.intro()
class person:
    '''
        why use __init__(): because we could put parameter into this class
    '''
    def __init__(self, name):
            self.name = name
    def intro(self):
        print('my name is ' + self.name)
        
p = person('Alice')
p.intro()
class person:
    def __init__(self, name):
            self.name = name
    def intro(self):
        print('my name is ' + self.name)

class dog(person):
    '''
        inherit the __init__() method
    '''
    def intro(self):
        print('Wang wang wang ... my name is ' + self.name)
        
p = dog('Alice')
p.intro()
class person:
    def __init__(self, name):
            self.name = name
    def intro(self):
        print('my name is ' + self.name)

class dog(person):
    def intro(self):
        print('Wang wang wang ... my name is ' + self.name)
        
class cat(person):
    def intro(self):
        print('Miao miao miao ... my name is ' + self.name)
        
def hello(person):
    person.intro()
    
'''
    多态 polymorphism
'''

hello(person('xxp'))
hello(dog('xxp'))
hello(cat('xxp'))
class person:
    def __init__(self, name):
            self.name = name
    def intro(self):
        print('my name is ' + self.name)

class dog(person):
    def intro(self):
        print('Wang wang wang ...')
        '''
            use super() to call parent's method
        '''
        super().intro()
        

p = dog('xxp')
p.intro()
class A:
    '''
        no need to put in 'self' parameter
    '''
    @staticmethod
    def f(x):
        print(x)
        
'''
    no need to instantiate(no need to use a object, but a class)
'''
A.f(1)
A().f(1)
class A:
    '''
        the first parameter 'cls' represents this class
    '''
    @classmethod
    def f(cls, x):
        print(x)
        
'''
    no need to instantiate(no need to use a object, but a class)
'''
A.f(1)
A().f(1)

 

posted @ 2022-11-05 11:16  树叶本子  阅读(23)  评论(0)    收藏  举报