python3 面向对象-类的使用 (一)

一、类的定义


"""
格式一:
class 类名:
    pass

格式二:
class 类名:
    成员
    pass
类命名规范: 大驼峰命名规则 FirstName
"""

# 类的第一种定义格式
class Student:  #没有产生继承关系的情况下,类名()可写可不写
    pass    #空空如也

class Emp():
    pass   # 空空如也
# 类的第二种定义格式
# 类的定义  > 对象的创建 (类似于函数的调用)
# 学生     >  具体到哪个学生
class Student:
    #成员
    #成员变量
    #成员方法
    pass

 

""""
创建对象:
  变量名 = 类名()
注意:
  创建对象不限制数量
"""
# 对象的创建 > 函数的调用
stu1 =Student()
stu2 =Student()
# id() 函数用于获取对象的内存地址。
print(id(stu1),id(stu2))

 

二、类中的成员变量

'''

定义格式一:
class 类名:
    def __init__(self):  # 函数 > 方法
        self.变量名1 = 值1
        self.变量名2 = None
        ......

调用格式: 取值: 对象名.变量名
                赋值: 对象名.变量名 = 值

变量名 = 值
self.变量名1 = 值1
'''

class Student:
    def __init__(self):  # 定义成员变量的方法名固定 __init__ 双下划线
        self.name='mike' # 属性
        self.pwd=None    #属性不固定的情况下, 就可以给他一个None值,动态的数据

#创建对象
stu= Student()
#原来的值
print(stu.name,stu.pwd)
#给属性重新赋值
stu.name='samantha'
stu.pwd='aaa'
#输出结果
print(stu.name,stu.pwd)

'''
定义格式二:  如果一个的对象想拥有自己特定的属性,别的对象没有的.
对象名.变量名 = 值  > 实质就是一个变量的赋值
调用格式: 
    取值: 对象名.变量名
    赋值: 对象名.变量名 = 值
'''

#创建对象1
stu1= Student()
#给属性重新赋值
stu1.name='samantha'
stu1.pwd='123'
#输出结果
print(stu1.name,stu1.pwd)
#发生异常:AttributeError: 'Student' object has no attribute 'tel'
#tel是对象2的属性,其他对象不能使用这个属性;
print(stu1.tel)

print('-'*100)
#创建对象2
stu2= Student()
#给属性重新赋值
stu2.name='john'
#创建对象2中特有的属性
stu2.tel=110
#输出结果
print(stu1.name,stu1.pwd,stu2.tel)

"""
总之:
    (1) 公有变量,属性(类里面) name, pwd 是定义在类里面的属性,  
       所以每个对象都可以拥有(使用)这些属性

    (2) 私有变量,属性 (类外面) tel是定义在类之外的属性,哪个对象定义的,哪个对象就拥有,
      属于某个对象特有的,其他对象使用 就会报错AttributeError: 'Student' object has no attribute 'tel'
      因为它没有这个属性.....
"""

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值