超级无敌干货每日18:00推送给你!!!
面向对象编程的语言中,具有相同的属性或能力的模型是使用类进行定义的。在程序中需要编写出能反映现实世界事物的类,并基于类来创建对象。
Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的。
类的语法格式如下
class ClassName:
语句
class: 定义类的关键字
ClassName: 类的名称,python规定,类的首字母需大写。
在python程序中,类只有实例化后才能被使用。类的实例化与函数调用类似,只要使用类名加小括号的形式就可以实例化一个类。一个类可以实例化成多个实例,实例之间不会互相影响。
定义并使用类的基本过程如下:
class MyClass: #定义MyClass
"这是一个类."
myclass = MyClass() #实例化类MyClass
print('输出类的说明:') #显示文本信息
print(myclass.__doc__) #显示属性值
print('显示类帮助信息:')
help(myclass)
上述代码中,首先定义了一个类MyClass,此类中只有一句说明信息”这是一个类“,然后实例化该类,并调用类的属性来显示属性”__ doc __ "的值。python语言中每个对象都会有一个 __ doc __属性,该属性用于描述该对象的作用。
结果如下所示
输出类的说明:
这是一个类.
显示类帮助信息:
Help on MyClass in module __main__ object:
class MyClass(builtins.object)
| 这是一个类.
|
| Data descriptors defined here:
|
| __dict__
| dictionary for instance variables (if defined)
|
| __weakref__
| list of weak references to the object (if defined)
>>>
python语言中,类实例化就生成了一个对象。
类对象支持两种操作:属性引用和实例化。
属性引用使用和 Python 中所有的属性引用一样的标准语法:obj.name。
类对象创建后,类命名空间中所有的命名都是有效属性名。所以如果类定义是这样:
class MyClass:
"""一个简单的类实例"""
i = 12345
def f(self):
return 'hello world'
# 实例化类
x = MyClass()
# 访问类的属性和方法
print("MyClass 类的属性 i 为:", x.i)
print("MyClass 类的方法 f 输出为:", x.f())
以上创建了一个新的类实例并将该对象赋给局部变量 x,x 为空的对象。
执行以上程序输出结果为:
MyClass 类的属性 i 为: 12345
MyClass 类的方法 f 输出为:hello world
类有一个名为 __ init __() 的特殊方法(构造方法),该方法在类实例化时会自动调用,像下面这样:
def __init__(self):
self.data = []
类定义了 __ init__ () 方法,类的实例化操作会自动调用 __ init __ () 方法。如下实例化类 MyClass,对应的 __ init __() 方法就会被调用:
x = MyClass()
当然, __ init__ () 方法可以有参数,参数通过 __ init__() 传递到类的实例化操作上。例如:
class Complex:
def __init__(self, realpart, imagpart):
self.r = realpart
self.i = imagpart
x = Complex(3.0, -4.5)
print(x.r, x.i) # 输出结果:3.0 -4.5
我是kuls
欢迎加我微信交流学习阅读更多精彩文章,可以关注我!
关注公众号回复“pdf”
无套路领取原创Django、flask全套教程⬇️