一、创建一个类
使用class关键字创建一个类:
class Person:
pass如果你想为这个类增加属性,可以在类内部声明:
class Person:
age = 0
name = ''在Python中,属性定义在类级别。同样,如果想增加方法,可以使用def语句定义:
class Person:
age = 0
name = ''
def setAge(self,age):
self.age = age第一个参数self是实例化的一个引用,用来调用类内的实例,即在调用setAge方法时,通过实例化的引用来改变age属性。下面是使用类来创建对象:
p = Person()
p.setAge(18)
print(p.age)输出结果为:
18
二、继承
Python中一个类可以继承另一个类,继承可以使类与类之间有更紧密的联系,可以重载或扩展基类的属性和方法。我们可以通过继承来创建一些特殊的类。
下面是一个继承的例子:
class Animal:
def say(self):
print('I am an animal.')
class Dog(Animal):
def say(self):
print('I am a dog.')在这个例子中,Animal是Dog的父类,Dog可以继承Animal的方法和属性。
接下来我们创建一个Cucmber类并继承自Vegetable:
class Vegetable:
def say(self):
print('I am a vegetable.')
class Cucumber(Vegetable):
pass
c = Cucumber()
c.say()输出结果为:
I am a vegetable.三、多态
多态是面向对象编程的基本概念之一,多态允许使用相同的方法调用不同的对象,从而实现不同的行为。
下面是一个多态的例子:
class Person:
def say(self):
pass
class Chinese(Person):
def say(self):
print('我是中国人。')
class American(Person):
def say(self):
print('I am American.')
def speak(person):
person.say()
p1 = Chinese()
p2 = American()
speak(p1)
speak(p2)输出结果为:
我是中国人。
I am American.四、封装
在Python中,我们可以通过下划线实现封装,可以有效的保护数据的安全性。对外部不可见的属性和方法,可以通过下划线实现内部封装。
下面是一个封装的例子:
class Person:
def __init__(self,name,age):
self._name = name
self._age = age
def _get_name(self):
return self._name
def _set_name(self,name):
self._name = name
name = property(_get_name,_set_name)
p = Person('Tom',18)
print(p.name)
p.name = 'Lily'
print(p.name)运行结果为:
Tom
Lily在这个例子中,我们通过下划线实现对name属性的封装,并通过@property装饰器设置属性的getter和setter方法。
五、类方法和静态方法
在Python中,类方法和静态方法是两种特殊的方法。类方法是带有@classmethod装饰器的方法,它的第一个参数是cls,表示调用该方法的类。静态方法是带有@staticmethod装饰器的方法,它不需要传递任何参数。
下面是一个类方法和静态方法的例子:
class Person:
count = 0
def __init__(self,name,age):
self.name = name
self.age = age
Person.count += 1
@classmethod
def getCount(cls):
return cls.count
@staticmethod
def sayHi():
print('Hi')
p1 = Person('Tom',18)
p2 = Person('Lily',20)
print(Person.getCount())
Person.sayHi()输出结果为:
2
Hi在这个例子中,我们通过类方法实现了对象的计数,静态方法sayHi不需要传入参数,可以直接调用。
六、总结
Python__class__是一门面向对象的编程语言,在Python中,我们可以通过class关键字来创建一个类,并且可以在类内部定义属性和方法来实现各种功能。类可以继承另一个类,多态允许使用相同的方法调用不同的对象,实现不同的行为。封装可以有效的保护数据的安全性,可以使用下划线实现内部封装。类方法和静态方法是面向对象编程中两种特殊的方法,可以帮助我们更好的实现类的功能。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/185540.html
微信扫一扫
支付宝扫一扫