python中类的的用法(基本概念与基本用法)
2018-01-31 20:46
686 查看
python是面向对象的编程语言,面向对象特点:继承、封装、多态
面向对象编程:和面向过程一样,是一种编程思想
类的概念:具有相同的的属性和行为特点的事物的抽象的集合
比如:人类的属性:身高 年龄 性别 姓名
人类的行为:吃喝拉撒睡
对象的概念:类的具体的实例化
人类中的对象:张三、李四.......
类的作用:创建对象,一般会在类中定义一些函数和属性,当使用类创建对象的时候,该对象就会拥有类中定义的这些属性和函数
类中的一些属性和函数,是由所有的对象身上共同的属性和行为抽离出来的
对象的作用:实现函数和属性的调用执行者
使用getattr函数:
用python中的函数来设置对象属性值:
用python中的函数删除:
面向对象编程:和面向过程一样,是一种编程思想
类的概念:具有相同的的属性和行为特点的事物的抽象的集合
比如:人类的属性:身高 年龄 性别 姓名
人类的行为:吃喝拉撒睡
对象的概念:类的具体的实例化
人类中的对象:张三、李四.......
类的作用:创建对象,一般会在类中定义一些函数和属性,当使用类创建对象的时候,该对象就会拥有类中定义的这些属性和函数
类中的一些属性和函数,是由所有的对象身上共同的属性和行为抽离出来的
对象的作用:实现函数和属性的调用执行者
在python中声明一个类:
#class 班级群体 #object :继承的父类 object是基类、顶级父类 class Pople(object): #pass 保证语法的完整性 # pass #人出生的时候,已经具有性别、年龄、身高、体重 #初始化函数 在创建对象的时候自动调用 #__init__ 内置函数 def __init__(self,name,age,phone): #在初始化函数中需要将创建对象时就该拥有的一些属性赋值 #对象.属性名=属性值 self.name=name self.age=age self.phone=phone
使用people类创建一个对象:
#创建对象的基本格式:对象名=类名() #当创建一个对象时,会在内存中开辟一块空间,来存放这个对象,这个对象是有一个地址的 #每次创建的对象都是一个单独个体,他们的内存地址都是不一样的 #p1是指针,存放对应对象的地址,就如:张三这个人,人本身是对象,而名字就如指针 p1=Pople('张三',22,110) print(p1) #输出结果: <__main__.Pople object at 0x000000000107B198> #当前文件中的People类的对象p1的内存地址为0x000000000107B198 #内存:程序运行时,在计算中占用的空间 #电脑上的500GB 1TB这种是硬盘空间 #python中是自动管理内存的
获取对象的属性值
使用常规方法:#格式:对象.属性名 #如果属性值不存在,抛出异常 name=p1.name print(name) age=p1.age print(age) print(p1.phone)
使用getattr函数:
#使用getattr(object,name,default)函数,会把获取到的值返回 #object:要获取属性的对象 name:要获取的属性名 default:当属性不存在,赋一个默认值 #如果属性不存在,可以给一个默认值,这样不会让程序出现异常 age=getattr(p3,'age',30) print(age)
修改对象的属性值 (修改的属性存在则是修改,否则是为对象增添这个属性)
常规修改方法:#对象.属性名=属性值 p1.name='李四' print(p1.name)
#可以给对象添加新的属性 #对象.属性名=属性值 如果这个属性不存在,就是添加这个属性 p1.sex='男' print(p1.sex)
用python中的函数来设置对象属性值:
#setattr(o,name,value)1.设置属性值的对象 2.要设置对象的属性名 3.要设置的属性值 setattr(p1,'age',21) print(p1.age)
删除对象的属性
常规删除方法:#对象的属性被删除之后,就不能再使用了 #AttributeError:ssss 要删除的对象不存在 del p1.sex # print(p1.sex)
用python中的函数删除:
#要删除对象属性的函数 #1.要删除的对象 2.要删除的属性名 delattr(p1,'phone') #删除之后,就不能再用这个属性了 # print(p1.phone)
具体实例说明setattr函数的作用:
#setattr 动态添加属性或者修改属性值 attr_dict={'iq':'150','eq':'150','color':'yellow'} #for循环遍历字典 for key,value in attr_dict.items(): #key是属性名 value是属性值 #setattr 可以将一个字符串的属性名 添加到对象的属性中 #p1.key=value 这种方式无法添加 相当于写了 p1.'iq'='150' setattr(p1,key,value) print(p1.iq) print(p1.color)
具体实例说明delattr函数的作用:
#delattr 动态删除属性 #删除对象p1中的属性 attr_list=['iq','eq','color'] for attr in attr_list: #可以使用delattr函数删除 delattr(p1,attr) #对象的属性删除之后,就不能不用了 # print(p1.color)
hasattr() 判断某个对象是否拥有某个属性
#判断会返回结果 如果有这个属性返回True,没有返回False s=hasattr(p3,'ssss') print(s)
#先判断是否有这个属性,再执行获取属性的操作 if hasattr(p3,'ssss'): s=p3.ssss else: print('p3没有ssss这个属性')
相关文章推荐
- 【Objective-C】OC中对象归档(序列化)的基本概念和用法
- Python基础08 面向对象的基本概念
- Python 学习之路-基本的概念(二)
- Python基础08 面向对象的基本概念
- 2基本概念--python深度机器学习
- Python基本概念
- python 基本概念、内置对象
- hbase基本概念和hbase shell常用命令用法
- python图形处理库PIL(Python Image Library)的基本概念
- 11.python并发入门(part9 多进程模块multiprocessing基本用法)
- hbase基本概念和hbase shell常用命令用法
- HBase基本概念和hbase shell常用命令用法
- Spark RDD基本概念与基本用法
- GIT基本概念和用法总结
- 【转载】HBase基本概念和hbase shell常用命令用法
- python学习笔记【一】--基本概念
- 好玩的分词——python jieba分词模块的基本用法
- Python学习记录——基本概念
- Python 基本概念
- hbase基本概念和hbase shell常用命令用法