# -*- 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  #对象可以访问静态字段