python 面向对象 (三)
2021-01-29 08:16
标签:utf-8 self 不同的 span fun func 特征 tar 说明 一.类和对象 说明:类变量只是和类关联一起的;实例变量是和对象关联在一起的 推荐:黑河SEO python 面向对象 (三) 标签:utf-8 self 不同的 span fun func 特征 tar 说明 原文地址:https://www.cnblogs.com/vwvwvwgwg/p/12833418.html
二.构造函数$ 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
上一篇:自学c语言 Ⅳ
下一篇:Spring程序开发步骤