python3 面向对象补充
f = People('egon',18,'male')
非函数
hasattr     # hasattr(f,'name')
getattr     # getattr(f,'name')
setattr     # setattr(f,'name','EGON')
class Teacher:
school = 'oldboy'
def __init__(self,name,age):
self.name = name
self.age = age def teach(self):
print(self.name) # print(hasattr(Teacher,'school'))
# print(getattr(Teacher,'school'))
# print(getattr(Teacher,'asdfadsf','没有这个'))
# setattr(Teacher,'school','欧德博爱')
# print(Teacher.school)
# delattr(Teacher,'school')
# print(Teacher.__dict__) t = Teacher('egon',18) # print(hasattr(t,'name'))
# print(getattr(t,'name'))
# setattr(t,'name','EGON')
# print(getattr(t,'name'))
#
# print(t.__dict__)
# delattr(t,'name')
# print(t.__dict__) # print(getattr(t,'teach'))
# print(getattr(t,'school'))
# print(t.school)
# t.school = 'hahhahahahha'
# print(getattr(Teacher,'school'))
# print(getattr(t,'school'))
# print(t.__dict__)
item系列
__getitem__ # f['name']
__setitem__ # f['name'] = 'EGON'
__delitem__ # del f['name']
__len__ # len(f)
class Foo:
def __init__(self,name,age,sex):
self.name=name
self.age=age
self.sex=sex
def __getitem__(self, item):
# print(self,item,type(item))
# return getattr(self,item)
return self.__dict__[item]
def __setitem__(self, key, value):
# setattr(self,key,value)
self.__dict__[key]=value def __delitem__(self, key):
# delattr(self,key)
self.__dict__.pop(key) def __len__(self):
return 10
f=Foo('egon',18,'male')
# print(f.name) #f['name']
# print(f.age) #f['age']
# print(f.sex) #f['sex'] # print(f['name']) # f['name']='egon_nb'
# print(f.__dict__)
# del f['name']
# print(f.__dict__) print(len(f))
f = People
__str__ # print(f) # f.__str__()
class Teacher:
def __init__(self,name,age):
self.name=name
self.age=age
self.courses=[] def teach(self):
print('%s teach' %self.name) def __str__(self):
return '<name:%s age:%s>' %(self.name,self.age) class Course:
def __init__(self,name,price,period):
self.name=name
self.price=price
self.period=period
def __str__(self):
return '《name:%s price:%s period:%s》' %(self.name,self.price,self.period) # egon=Teacher('egon',18)
# print(egon) #egon.__str__()
# print(egon) #egon.__str__()
__del__ # del f # f.__del__()
import time
class Foo:
def __init__(self,x):
self.x=x
print('connect mysql') #conn=abcdef('192.168.1.10',3306) def __del__(self):
'''做一些与这个对象有关的清理操作'''
# conn.close()
# file.close()
print('====>')
f=Foo(10)
del f #f.__del__()
time.sleep(3)
print('主程序')
python3 面向对象补充的更多相关文章
- Pthon面向对象-补充知识
		
Pthon面向对象-补充知识 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.tracemalloc 标准库tracemalloc,可以统计内存使用情况,通过下面的案例可以看出内 ...
 - python022 Python3 面向对象
		
Python3 面向对象 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. 如果你以前没有接触 ...
 - python(25)- 面向对象补充Ⅰ
		
一.如何使用类 1.实例化:创建对象 类名加括号就是实例化,会自动触发__init__函数的运行,可以用它来为每个实例定制自己的特征. 例子一 x=int(10) print(x) python中一切 ...
 - Python3 面向对象之:单继承
		
一:什么面向对象的继承? 比较官方的说法就是: 继承(英语:inheritance)是面向对象软件技术当中的一个概念.如果一个类别A“继承自”另一个类别B,就把这个A称为“B的子类别”,而把B称为“A ...
 - Python3面向对象基础
		
面向对象概述 面向对象 面向对象的世界,引入了对象的概念,对象具有属性:数据,对象具有过程或者方法:成员函数.成员函数的作用就是处理属性. 例子 对象:Car 属性:fuel_level, isSed ...
 - python3面向对象注意事项
		
一.面向对象super的作用: class parent(object): def __init__(self): self.test() def test(self): print('parent- ...
 - Python3  面向对象编程
		
小案例: #!/usr/bin/env python # _*_ coding:utf-8 _*_ # Author:Bert import sys class Role(object): n=&qu ...
 - Python 面向对象-------补充
		
Python 面向对象 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. 如果你以前没有接触过 ...
 - Python3 面向对象(1)
		
面向.概述 面向过程: 根据业务逻辑从上到下写垒代码面向过程的设计的核心是过程,过程即解决问题的步骤, 面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西 优点: 极大降低了程序的 ...
 
随机推荐
- 虚拟现实-VR-UE4-构建光照显示光照构建失败,Swarm启动失败
			
闲的无聊折腾,发现想构建光照的时候,总是显示失败 如下图 百度许久,有大神指出是我在编译源码的的时候没有将其中的某个模块编译进去,只需要重新编译摸个模块就好 在UE4 的sln文件下,会看到一个Unr ...
 - ECharts 上传图片Example
			
前端 1.为ECharts准备一个div <div id="main" style="Height:400px"></div> 2.引入 ...
 - abs项目 - 战线拉的太长
			
abs项目 - 战线拉的太长 “从项目中来,到项目中去”. 坑是踩不完的,尽量做到不要踩重复的坑就好. 最近的这个项目,从2016的8月份左右开始立项,一直做到2017的2月份,还是有很多的问题在继续 ...
 - Linux pthread 线程池实现
			
基于pthread封装了一个简易的ThreadPool,具有以下特性: 1.具有优先级的任务队列 2.线程池大小可以二次调整,增加线程或者删除空闲线程 3.任务两种重写方式,重写run或者使用函数回调 ...
 - linux备忘录-日志档案
			
linux的日志档案 linux的日志档案记录系统或程序在运行过程中产生的一些信息,例如事件的记录,错误的记录等等.特别是在发生错误时,我们可以通过日志档案找到错误发生的根源,例如当我们无法启动邮件服 ...
 - JSONP跨域jQuery处理整理(附天气数据实例)
			
写在前面 跨域的解决方案有多种,其中最常见的是使用同一服务器下的代理来获取远端数据,再通过ajax进行读取,而在这期间经过了两次请求过程,使得获取数据的效率大大降低,这篇文章蓝飞就为大家介绍一下解决跨 ...
 - kali linux下的常用bash命令
			
虚拟机版本默认用户root 密码toor ls:显示当前目录包含的文件及文件夹 ls -l:以常规格式显示当前目录包含的文件及文件夹(开头字母解释:d:目录 -:文件 c:设备文件 l:链接 b:块设 ...
 - 【bzoj3043】IncDec Sequence  差分
			
题目描述 给定一个长度为n的数列{a1,a2...an},每次可以选择一个区间[l,r],使这个区间内的数都加一或者都减一.问至少需要多少次操作才能使数列中的所有数都一样,并求出在保证最少次数的前提下 ...
 - 【bzoj2733】[HNOI2012]永无乡  Treap启发式合并
			
题目描述 永无乡包含 n 座岛,编号从 1 到 n,每座岛都有自己的独一无二的重要度,按照重要度可 以将这 n 座岛排名,名次用 1 到 n 来表示.某些岛之间由巨大的桥连接,通过桥可以从一个岛 到达 ...
 - [洛谷P1420]最长连号
			
题目大意:输入$n$个正整数,($1\leq n\leq 10000$),要求输出最长的连号的长度.(连号指从小到大连续自然数) 题解:考虑从小到大连续自然数差分为$1$,所以可以把原数列差分(后缀自 ...