pytnon基础
文章平均质量分 53
Python_bh
这个作者很懒,什么都没留下…
展开
-
python 函数与方法的区分与示例
- 什么是函数?什么是方法? from types import MethodType,FunctionType class Foo(object): def fetch(self): pass##由类调用时函数 print(isinstance(Foo.fetch,MethodType)) print(isinstance(Foo.fetch,FunctionType)) # True##在对象里面调用是方法 obj = Foo().原创 2021-01-26 16:29:51 · 112 阅读 · 0 评论 -
字符串拼接方法总结(5种常用方法)
1、来自C语言的%方式print(’%s %s’ % (‘Hello’, ‘world’))Hello world%号格式化字符串的方式继承自古老的C语言,这在很多编程语言都有类似的实现。上例的%s是一个占位符,它仅代表一段字符串,并不是拼接的实际内容。实际的拼接内容在一个单独的%号后面,放在一个元组里。类似的占位符还有:%d(代表一个整数)、%f(代表一个浮点数)、%x(代表一个16进制数),等等。%占位符既是这种拼接方式的特点,同时也是其限制,因为每种占位符都有特定意义,实际使用起来原创 2021-01-15 19:19:04 · 9899 阅读 · 0 评论 -
python终端打印带颜色的print
引用详解:https://www.cnblogs.com/zhuminghui/p/9457185.html原理实现过程: 终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关。 转义序列是以ESC开头,即用\033来完成(ESC的ASCII码用十进制表示是27,用八进制表示就是033)。书写格式: 开头部分:\033[显示方式;前景色;背景色m +结尾部分:\033[0m 解释:开头部分的三个参...转载 2020-11-02 15:27:36 · 242 阅读 · 0 评论 -
生成器:: 使用yield创建一个生成器,生成器的使用
1 有yield关键字的函数是一个生成器2生成器的触发需要需要__next__()进行触发案例:def run(): count = 0 print('__next__()触发代码的执行') while True: n = yield count print("-->",n,count) count +=1g = run() # 有yield 已经变成了一个生成器,调用run()不会执行代码print(原创 2020-10-25 17:56:34 · 250 阅读 · 0 评论 -
sys.modules 与sys.modules[__name__] 的理解
sys.modules 以字典形式储存程序的所有模块 , __name__当前模块例如:print(__name__)print(sys.modeles)print(hasattr(sys.modules[__name__],'A')) # 可用于映射当前模块是否有‘A’对象或类输出:__main__{'sys': <module 'sys' (built-in)>, 'builtins': <module 'builtins' (built-in)>..原创 2020-09-19 11:16:44 · 5425 阅读 · 0 评论 -
python 中 exec的使用--字符串命令行的执行
exec的使用:参数1:字符串命令行参数2:全局作用域(字典形式)参数3:局部作用域(字典形式)实例:a ={ 'name':'王华', 'age':'18'} # 全局名称空间b ={} # 局部作用名称空间# exec当成一个函数使用exec(""" global name,agename = '华王'age = '34'z = 2 # z在局部空间产生一个名字‘z’""",a,b)print(a)print(b) #--->原创 2020-09-12 11:12:45 · 634 阅读 · 0 评论 -
python字典 中setdefaut的使用
语法:dict.setdefault(key,default= none)作用:1 为字典添加新的键值对(如果dict中有key,则dict不改变,如果不不存在key,则将此key添加到字典中,value设置为default)2返回值 与get() 类似,如果有key 返回value,如果不存在,返回defautt实例:dict = {'runoob': '菜鸟教程', 'google': 'Google 搜索'} print "Value : %s" % dict.setd.原创 2020-09-05 19:14:00 · 353 阅读 · 0 评论 -
python正则表达式 (.*?)与(.*)的区别
str3 = 'a123b456b789b'需求:1提取b之前的内容 2提取ab之间的内容 ‘.*?’的运用()内为要提取的内容例如:原创 2020-09-05 17:13:17 · 1327 阅读 · 0 评论 -
python 将两个列表转化为一个字典 使用dict(zip(a,b))
假设你有如下两个list: keys = ['name', 'age', 'food'] values = ['Monty', 42, 'spam'] 如何转变成:a_dict = {'name' : 'Monty', 'age' : 42, 'food' : 'spam'}解决方法:>>> keys = ['a', 'b', 'c']>>> values = [1, 2, 3]>>> dictionar.原创 2020-09-04 14:24:01 · 1403 阅读 · 0 评论 -
空集合与空字典的表示方法,区别
# 1)初始化一个空集合a =set()a.add() # 可以添加元素空集合添加元素>>> b = set()>>> b.add(1)>>> b案例2:>>> set_test=set('hello') #此处应说明集合的“无序性”>>> set_test{'l', 'o', 'e', 'h'}# 2) 初始化一个字典a = {} 默认为字典 ,不是集合...原创 2020-09-03 15:12:09 · 3870 阅读 · 0 评论 -
‘(?P...)‘ 分组匹配 re.search(“(?P[0-9]{4})(?P[0-9]{2})(?P[0-9]{4}
实例>>> id_num #身份证号的分组'144731199209096719'>>> a = re.search("([0-9]{3})([0-9]{3})([0-9]{4})",id_num)>>> a.group() #输出匹配结果'1447311992'>>> a<re.Match object; span=(0, 10), match='1447311992'>>>> ...原创 2020-09-03 12:02:11 · 588 阅读 · 0 评论 -
递归函数的运用
递归函数:就是函数调用本身的函数例如# 递归函数def func(): print('2222') func()func() # 调用本身#实例 age(5)=age(4)+10 age(4)=age(3)+10 age(3)=age(2)+10 age(2)=age(1)+10 age(1) =10def age(n): if n==1: return 10 else: return age(n-1)原创 2020-08-27 09:50:54 · 109 阅读 · 1 评论 -
生成器的创建过程 和yield 等的使用
#生成器的创建(yield) :在函数一旦存在yield关键字,调用函数并不会执行函数整体代码#会返回一个生成器对象,生成器即自定义迭代器def func(): print('第一次') yield 1 print('第二次') yield 2 print('第三次') yield 3g = func() # 生成一个生成器print(g) # 生成器就是迭代器print(g.__next__()) # 会触发函数体代码的运行,遇到yield停.原创 2020-08-26 10:32:32 · 126 阅读 · 0 评论 -
可迭代对象与迭代器的理解与运用 __iter__与__next__方法的使用
可迭代对象:是指方法中有__iter__的都是科迭代对象(__iter__可将可迭代对象转化为迭代器)迭代器对象:是指方法中有__iter__与__next__的就是迭代器对象例如:s1 = ''# s1.__iter__()l = []# l.__iter__()d = {'a':1,'b':2}# d.__iter__()s ={1,2,3}s.__iter__()with open('a.txt',mode='w') as f: pass# f.__iter__(原创 2020-08-26 09:56:53 · 150 阅读 · 0 评论 -
装饰器模板使用
def outter(func): def wrapper(*args,**kwargs): #1 调用原函数 #2 为其添加新功能 res =func(*args,**kwargs) return res return wrapperwrapper的作用:1调用原函数2为其添加新功能# 案例import timedef timmer(func): def wrapper(*args,**k...原创 2020-08-26 09:48:57 · 129 阅读 · 0 评论 -
文件修改的两种方式:1占用内存省硬盘的方式(文本编辑器使用的方式)2节省内存占硬盘的方式
# 方式一 文件编辑器用的方式with open('文件路径', mode='rt', encoding='utf-8') as f: res = f.read() print(res) data = res.replace('华王', '王华') print(data)with open('文件路径',mode='wt',encoding='utf-8') as f1: f1.write(data)# 用不占内存的方式修改文件with open('a.原创 2020-08-22 09:06:03 · 211 阅读 · 0 评论 -
字典的常用方法
字典 的生成 ,更新 ,删除,获取info = dict(name='王华', age='26', height='178', lerar='college') # 生成字典info# print(info)info2 = {'name': '王华', 'age': '18', 'sex': '男', 'learn': 'colleague'} # 生成字典info2# print(info2)info .update(info2) # 更新字典# print('info:',info)n原创 2020-08-21 15:07:53 · 217 阅读 · 0 评论 -
字符串方法index ,find的使用
str.index() 获取索引,不存在的话报错str.find()获取索引,不存在的话返回-1name = 'wanghauwang'index = name.index('w')find1 = name.find('w')find2 = name.find('1') #不存在print(index)print(find1)print(find2)结果:find 与 if 的结合使用name = 'wanghauwang'if name.find('j'..原创 2020-08-21 09:09:04 · 264 阅读 · 0 评论 -
如何将字符串(str),列表(list),字典(dict)之间进行相互得数据类型转化
问题:最近在编写程序得途中,经常遇到将字符串数据转化为列表or字典,方便数据的提取与储存,以下简单介绍一下三者之间的数据转化1首先是一般需要将文本形式的数据从硬盘中读取出来f = open('文件目录',mode = ‘rt’,encoding = 'utf-8')text =f .read()print(text)2读取的字符串文件进行转化为列表或字典 dict ={} # 生成一个空字典 for str_stock in f: stock.原创 2020-08-19 11:18:13 · 408 阅读 · 0 评论