您的位置:首页 > 编程语言 > Python开发

python 之类变量和实例变量(简单谈一谈)

2016-11-16 16:40 423 查看
# -*- coding: utf-8 -*-
"""
Created on Sun Nov 13 23:19:03 2016

@author: toby
"""

class Province:
def __init__(self,name,capital,leadership):
self.Name = name
self.Capital = capital
self.Leadership = leadership

hb = Province('hebei','shjiazhuang','liyang')
sd = Province('shandong','jinan','angshenghui')

'''
下几点说明:
1、self是神码东东?
接受对象本身hb,sd
2、'hebei','shjiazhuang','liyang'由 __init__()函数中的形惨name,capital,leadership负责接收
3、self.Name = name 是把形惨name中接受到的值赋值给self.Name
4、 self.Name中的这个Name可以自定义(比如换成aa都可以),那么是为了更清晰的直到其用途所以建议取一个有意义的名字
5、 'hebei','shjiazhuang','liyang'三个值想当是被封装进里实例化后的对象hb里
'''

#在类里声明一个类变量
class Province:
memo = 'One of China\'s 23 provinces' #类变量,也可以说是静态字段
def __init__(self,name,capital,leadership):
self.Name = name #实例变量,属于对象的,也可称为动态字段
self.Capital = capital
self.Leadership = leadership

hb = Province('hebei','shjiazhuang','liyang') #相当于将'hebei','shjiazhuang','liyang'封装到了类的对象hb里边
sd = Province('shandong','jinan','angshenghui')

print hb.Name #打印对象属性
print Province.memo #打印类变量

#尝试通过类访问动态字典(静态类不能问访问动态字段)
print Province.Name #结果:报错,找不到该属性

#通过对象访问静态字段
print hb.memo  #对象可以访问静态字段
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python