Python学习_14 函数、类相关复习,正则表达式


Python学习_14 函数、类相关复习,正则表达式
1、文件操作复习
文件操作格式:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2018\4\29 0029 20:10
# @Author  : xiexiaolong
# @File    : demon3.py
import codecs
with codecs.open("demo2", "r") as f:
    pass
2、高阶函数sorted复习
sort 与 sorted 区别:sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作;list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作
语法:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2018\4\29 0029 20:10
# @Author : xiexiaolong
# @File : demon3.py
m = dict(a=3, b=3, d=6, s=1, f= 5)
print(dict(sorted(m.items(),key=lambda d:d[1])))
print(dict(m))
3、匿名函数lambda
add = lambda x,y:x+y
4、class
定义class先定义一个构造器函数__init(args)__,然后在定义一系列函数,然后实例化类,最后定义主函数main()
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2018\4\29 0029 20:10
# @Author  : xiexiaolong
# @File    : demon3.py
class A(object):
    def __init__(self,name):
        self.name = name
        print("intit A")
    def hello(self):
        print("hello {0}".format(self.name))
a = A("xxl")
if __name__ == "__main__":
    a.hello()
5、装饰器
    在不改变原有函数的情况下给函数增加一些功能,装饰器通过@符号使用,相当于把@后面的函数当作参数传给了装饰器
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2018\4\29 0029 20:10
# @Author  : xiexiaolong
# @File    : demon3.py
def startEnd(fun):
    def a():
        print("start")
        fun()
        print("end")
    return a
@startEnd
def hello():
    print("hello")
h = hello
h()
6、模块复习
os模块
os.system()               纯粹的执行系统命令,没有返回结果
os.listdir()               列出目录
os.chdir()                改变目录cd
os.getcwd()             pwd
os.mkdir()                mkdir
os.remove                    删除文件
os.rmdir                    删除目录
os.path.exists()             判断是否存在目录
random,随机模块
random.randint(a, b)随机生成一个a到b的实数
random.randrange(a, b, x)随机生成一个a到b不包括b)的实数,步长是x
string模块
字符串常量
print (string.ascii_letters) #字母
print (string.digits) #数字
print (string.ascii_lowercase) #小写字母
print (string.ascii_uppercase) #大写字幕
print (string.printable) #可打印出来的
print (string.punctuation) #特殊字符
print (string.hexdigits) #16进制数
6位随机码生成:
print ( "" .join(random.sample(string.ascii_letters+string.digits, 6 )))
logging日志
import logging
logging.basicConfig( level =logging.DEBUG)
logger = logging.getLevelName(__name__)
logger = logging.debug( "this is debug" )
logger = logging.info( "this is info" )
logger = logging.warning( "this is warning" )
logger = logging.error( "this is error" )
logger = logging.critical( "this is critical" )
hashlib加密
m = hashlib.md5("".encode("utf-8"))
src = bytes("aaaaddf",encoding="utf-8")
m.update
StringIO模块和BytesIO模块 写内存
StringIO是一个类,所以使用之前要实例化
stringIO = StringIO()
json模块
json.dumps 将Python对象编码成json字符串;json.loads将字符串转化成Python对象
7、正则表达式
python正则表达式模块re,一个特殊的字符序列,来匹配一个字符串
re.match 尝试从字符串起始位置匹配;
re.search扫描整个字符串并返回第一个成功的匹配
re.findall在字符串中找到正则表达式所匹配的所有字符串,并返回一个列表,如果没找到则返回空列表
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2018\4\29 0029 20:10
# @Author : xiexiaolong
# @File : demon3.py
import re
x = '1one2two3three4four'
reg1 = re.compile ("\d")
print("match:{0}".format(reg1.match(x)))
print("search:{0}".format(reg1.search(x)))
print("findall:{0}".format(reg1.findall(x)))
结果:
D:\python\venv\Scripts\python.exe D:/python/0428/demon3.py
match:<_sre.SRE_Match object; span=(0, 1), match='1'>
search:<_sre.SRE_Match object; span=(0, 1), match='1'>
findall:['1', '2', '3', '4']

Process finished with exit code 0
分析:正则表达式\d匹配字符串中的数字


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值