Python学习16:类和对象_属性和方法

一、类的概念

类的定义

  • 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例
  • 俗话说:人以群分,物以类聚。 种类/ 分类
  • python使用class关键字定义一个类,类名的首字母一般要大写
代码定义:
class 类名:
	类的组成部分

实例:
class Student#定义了一个Student类

类的命名

  • 大驼峰命名: 两个单词的首字母大写
    例如:class PerfectManHelp
  • 下划线命名:_
    例如:class perfect_man_help

二、对象

对象的表示方法

  • 类名() ==> 对象的表示
    例如:class Student(object):
实例1:
#定义了一个类
class Student:
	pass

#定义一个对象
class Student (objetct):
	pass

new_student = Student
print(new_student)
print(Student)
print(Student())
"""
打印结果:
__main__.Student
__main__.Student
<__main__.Student instance at 0x10c84b488>
"""


a = Student()
b = Student()
print(a)
print(b)
#a和b虽然取的一个Student ,但在存储器里,他俩的内存是不一样的
"""
打印结果:
<__main__.Student instance at 0x10b236488>
<__main__.Student instance at 0x10b2364d0>
"""

# is 判断另个变量两个值 是不是同一个对象 (经典面试题)
print(a is b)     #打印结果:false

# 如何去进一步确定是不是同一个对象
print (id(a))
print (id(b))
"""
打印结果:
4484555984
4484555120
"""

三、属性

属性的定义

  • python中的属性其实是普通方法的衍生

类属性

  • 这个类的特征,这个群体的特征, 别的类(别的群体)可能不具备
  • 使用python内置函数操作属性

类属性的获取

  • 类型.属性:
  • 可以先天定义也可以 后天学习
实例:
class Cat:
    gender = "girl"
    age = 2

print (Cat.gender)           ===>打印结果:girl # Cat类的gender属性
print (Cat.age)              ===>打印结果:2    # Cat类的age属性


#后天学习 自行添加
Cat.color = "white"
print (Cat.color)            ===>打印结果:white # Cat类的age属性


#实例属性 后天添加
new_cat = Cat()
new_cat.where = "home"
print(new_cat.where)         ===>打印结果:home


#重复赋值
class Man()
	gender = "man"

new_man = Man()
new_man.gender = "woman"
print (new_man.gender)        ===>打印结果:woman

错误实例:
class Cat:
    gender = "girl"
    age = 2

print (Cat.gender)
print (Cat.age)

new = Cat()
younger = Cat()
print (new.age)
print younger.gender


new.where = "home"
print (younger.where) 
"""
打印结果:报错
AttributeError, 属性错误
"""

猜你喜欢

转载自blog.csdn.net/DINGMANzzz/article/details/113449706
今日推荐