1 类和对象
现有类,再有对象的。如:拿着模板可以生成很多的对象
1) 什么是类??
人以群分,物以类聚。种类/分类
英语单词:class
类:是一类事物的抽象概念(模型),不是真实存在的,描绘了该类事物共同特征和行为
用来描述具有系统属性和方法的对象的集合。定义了该集合种每个对象所共有的属性和方法,对象是类的实例
什么样的东西可以形成一个类?
如人类、
因为他们有相似点。共同之处。其共同之处就可以形成类。类是一个群体
xiaoyi:男
xiaoer:男 =====》Man类
女生 =====》Girl类
2)什么是对象 object??又被称为实例 instanc
object:东西
是群体当中的成员 / 个体
Man 类里面的对象: xiaoyi,xiaoer
1.1 类的定义
1.1.1 定义类的语法
- 方式一: class 类名:
- 方式二:class 类名(object):
- 方式三:class 类名():
- 注意:方式一、方式二定义类是一样的,没有区别,只是写法不一样
"""
类和对象在python当中的表示
类的定义:
class 类名:
类的组成部分
"""
#括号可有可无
class Man:
pass
class Man():
pass
class Man(object):
pass
1.1.2 类名的命名规范
遵循标识符的命名规范
建议使用大驼峰命名法(每个单词第一个字符大写)
类的命名:大驼峰命名,两个单词的首字母大写
class PerfectMan:
pass
函数的命名:下划线命名:perfect_man_help
变量的命名:下划线命名
分开能更快的区分
1.1.3 类的调用
"""
类的调用: 和函数调用一样
print(类名)
变量 = 类名
<class '__main__.Man'>
看到尖括号的,一般来说就是一个类/ 对象
"""
new_man = Man
print(new_man)
print(Man)
"""
结果:
<class '__main__.Man'>
<class '__main__.Man'>
"""
1.1.4 对象表示方法
创建实例对象语法:obj = 类名()
"""
对象的表示方法
类名() ===》对象的表示方法
"""
print(Man())
"""结果
<__main__.Man object at 0x000002649981F2B0> #内存地址
"""
问:不同的变量表示是否为同一个成员
ANS:不是
#a,b表示同一个类中的不同成员
a = Man()
b = Man()
print(a)
print(b)
"""结果
<__main__.Man object at 0x000001918CE21FD0>
<__main__.Man object at 0x000001918CE21FA0>
"""
判断定义的对象名是不是同一个对象?
#判断2个值是不是同一个对象用is,表示身份运算
print(a is b) #False
#经典题:仅是归类
print(Man() is Man()) #False
#如何去进一步确定是不是同一个对象,可以去打印其的id
print(id(a))
print(id(b))
"""结果
1724645515216
1724645515168
"""
1.1.5 例子:
"""
例子
一个对象可能属于多个类,只要其有共同点即可
"""
#定义一个猫类:
class Cat:
pass
#创建实例对象
jiafei = Cat()
tom = Cat()
blue =Cat()
black = Cat()
dragon = Cat()
print(jiafei)
print(tom)
print(blue)
print(black)
print(dragon)
"""结果
<__main__.Cat object at 0x0000020BACC86A60>
<__main__.Cat object at 0x0000020BACC86F70>
<__main__.Cat object at 0x0000020BACC86A00>
<__main__.Cat object at 0x0000020BACC869D0>
<__main__.Cat object at 0x0000020BACC869A0>
"""