随笔分类 - python
摘要:hasattr(obj,name_str),判断一个对象里面是否有name_str的方法 getattr(obj,name_str):获取字符串在对象中的方法内存地址 setattr(x,y,v)相当于x.y=v x是对象,y是字符串,v是值 delattr(obj,name_str):根据字符串,
阅读全文
摘要:类的特殊成员方法: __module__ __class__ def __call__(self, *args, **kwargs) 让对象可以传参数 __dict__ print(Dog.__dict__):打印类里的所有属性 print(d.__dict__):打印实例后的对象 __str__(
阅读全文
摘要:@staticmethod:静态方法,它致使eat()函数与类没有关系,不可以调用类中的任何属性,只是归类管理 类方法:只能调用类中的变量,不能调用实例变量 属性方法:定义两个一样的函数eat(),把一个方法变成一个静态属性,利用 @eat.setter 来给food赋值 @property 要传值
阅读全文
摘要:class SchoolMember(object):#定义学校 member=0#默认成员为0个 amount=0#默认学费为0元 def __init__(self,name,age,sex):#构造函数,定义父类的属性 self.name=name self.age=age self.sex=sex self.enro...
阅读全文
摘要:面向对象:可以解决更复杂的关系描述,一个对象可以有多个功能 面向过程:一步一步去走,去实施完成,适合一次性的任务。要是要处理复杂并且可重复利用的,就得用面向对象 比如,连接数据库,备份数据库,测试数据库如下图: 面向对象: object oriented programing 下面举例说明类的特性:
阅读全文
摘要:logging模块是用来记录日志的,有以下5个级别 logging.info() logging.debug() logging.error()logging.warning() logging.critical() logging模块涉及4个主要的类: logger:提供应用程序可以直接使用的接口
阅读全文
摘要:生成器的作用是:节省运行空间,只有在循环到需要用的元素时才会生成相对应的数据。一般用__next__()取得相对应的位置元素的值 生成器产生方式有2中: 1.a=(i*2 for i i n range(10)) 2.用yield来生成,可以将一个函数变成生成器 举个例子来说明: yield将函数变
阅读全文
摘要:re模块 “.”:表示匹配一个字符 a=re.match(“.”,”inet addr:192.168.1.210 Bcast:192.168.1.125”) a.group() ‘i’ “+”:表示匹配多个字符 “w”只能匹配一个字母和数字,如果有特殊字符会报错,如下所示: {n,m}最少匹配前面
阅读全文
摘要:写一个XML文件 import xml.etree.ElementTree as ETnamelist=ET.ElementTree("namelist") 将namelist生成一个根节点name=ET.SubElement(namelist,"name",attrib={"strinf":"ye
阅读全文
摘要:print(abs(-5)) #求绝对值 print(all([0,-1,5])) #必须全部为真则返回True print(any([0,-1,5])) #只要有任意一个为真,则都为真 a=ascii([1,2,"中文"]) #将列表变成字符串print([a]) print(bin(255))
阅读全文
摘要:迭代器: 1可直接作用于for循环的数据类型有以下几种 a.集合数据类型list、tuple、dict、set、str b.generator,包括生成器和带yield的generator fuinction 这些可以直接作用于for循环的对象统称为可迭代对象,Iteratable 可以用isins
阅读全文
摘要:软件目录的开发规范: FOO/:表示项目名 bin/:可执行文件存放的目录 foo:可执行文件,执行这个程序,调用下面的main conf:配置目录 foo/:主程序目录 tests:测试用例,程序主逻辑,怎么设计的,需要写相应的测试用例 main.py:执行主程序逻辑可以调用main docs:相
阅读全文
摘要:嵌套函数: 在一个函数里面在定义一个函数(有局部变量的特性,不能在外部调用) 针对装饰器的三个原则: 1.函数即“变量” 2.高阶函数 3.嵌套函数 举下面一个例子 它的运行过程呢可以将装饰器阐述清楚:(每一行后都有标记#后的数字表示编号) a.定义auth这个函数,然后向下找定义的index()函
阅读全文
摘要:import timeimport datetimeprint(time.altzone/3600) 返回以秒为单位的UTC时间print(time.asctime()) 返回日期t=time.localtime() 返回时间对象print(t.tm_year,t.tm_mday) t.tm_yea
阅读全文
摘要:装饰器:本质是函数,作用是为其他函数添加附加功能 原则: 1.不改变被装饰函数的源代码 2.不改变被装饰函数的调用方式 实现装饰器需要先实现那些功能呢? 1.函数就是“变量”,将函数体赋予函数名,就可以在内存中存在了 # def dec():# print('this is dec')# bar()
阅读全文
摘要:#!/usr/bin/python3name="my name is xiAngXiao"name2="alex"name3="my {name} is xiangxiao,and my {yeae} is"#print(name.capitalize())#将首字母都大写#print(name.c
阅读全文
摘要:ASCII码很好的解决了以英文为母语基础的计算机使用语言,但比如中国人想存汉子的时候,就无法实现,于是就出现了新的字符集GB2312中文字符集,但是支持的汉子较少。 > decode()是将str转化为Unicode字符串 encode()是将Unicode转化为str Unicode也被称为万国码
阅读全文
摘要:1python集合:list_1=set([1,2,3,6,7,8])list_2=set([4,5,6,8,9,0])list_3=set([1,2,3])#print(list_1.intersection(list_2))#交集#print(list_1.union(list_2))#并集#p
阅读全文
摘要:print(sys.path) #打印环境变量 print(sys.argv) #打印相对路径 print(sys.argv[1]) #打印对应的参数 1.在python最上有时候会导入os模块,表示与系统有交互的时候,都用os模块 例如: cmd_res=os.system(“dir”) #显示当
阅读全文
摘要:接下来学会了变量:用简单的变量来代替复杂的字符串 变量首字母不能是数字或者特殊符号~!@#¥等。 字符集的发展: ASCII 255个 1个占1bytes >1980年 GB2312 支持7千多汉子 >1995年,GBK10,支持2W多汉子 >2000年,GB18030支持27000多汉子, Uni
阅读全文