python 面向对象
Posted vwvwvwgwg
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 面向对象 相关的知识,希望对你有一定的参考价值。
一.类和对象
- 类是现实世界或思维世界的实体在计算机中的反映
- 它将数据以及这些数据上的操作封装在一起
- 把类比作一个模版,通过这个模版可以产生很多个对象
二.构造函数
$ vim s3.py
class Student():
name = ‘‘
age = 0
def do_homework(self):
print(‘homework‘)
student1 = Student()
student2 = Student()
student3 = Student()
print(id(student1))
print(id(student2))
print(id(student3))
#执行
#python2.7 s3.py
4305810496
4305810640
4305810712
说明:使用student 这个模版来创建对象,student模版创建不同的对象;
Step 1.在实例化后几个对象不相同
1.在Student定义__init__函数,与其他函数不同的是__init__是固定,也称为构造函数
$ vim s4.py
class Student():
name = ‘‘
age = 0
def __init__(self):
print(‘student‘)
def do_homework(self):
print(‘homework‘)
student1 = Student()
#执行
说明:打印结果是student,也就是None
$ python2.7 s3.py
student
2.实现不同对象,__init__()不但可以定义self,还可以定义name,age 等,以此来达到不同对象
Step 2.实例变量与类变量
说明:类变量只是和类关联一起的;实例变量是和对象关联在一起的
1.实例变量 和 类变量导致打印结果为空值
class Student():
name = ‘‘
age = 0
def __init__(self,name,age):
print(‘student‘)
name = name
age = age
def do_homework(self):
print(‘homework‘)
student1 = Student(‘小明‘,18)
print(student1.name)
# 执行
$ python2.7 s3.py
student
2.保存特征值
class Student():
name = ‘‘
age = 0
def __init__(self,name,age):
print(‘student‘)
self.name = name
self.age = age
def do_homework(self):
print(‘homework‘)
student1 = Student(‘小明‘,‘18‘)
print(student1.name)
#执行(已成功打印)
$ python2.7 s3.py
小明
说明:使用self来保存特征值,这两段代码实际上是定义了两个实例变量,与类无关,和对象相关
self.name = name
self.age = age
3.同时打印类的变量
# coding=utf-8
class Student():
name = ‘yunming‘
age = 0
def __init__(self,name,age):
#print(‘student‘)
self.name = name
self.age = age
def do_homework(self):
print(‘homework‘)
student1 = Student(‘小明‘,18)
print(student1.name)
print(Student.name) //打印类变量
#执行
#python2.7 s3.py
小明
yunming
推荐:黑河SEO
以上是关于python 面向对象 的主要内容,如果未能解决你的问题,请参考以下文章