![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
一坨小红花
这个作者很懒,什么都没留下…
展开
-
python 面向对象初始化方法
初始化方法:类名( ) 就可以创建一个对象类名( ) 创建对象的时候,python解释器会自动执行以下操作1.为对象在内存中分配空间–创建对象2.调用初始化方法为对象的属性设置初始值这个初始化方法是内置方法,是专门用来定义一个类据有哪些属性和方法的class Cat: def __init__(self,name): self.name = name ...原创 2020-02-14 16:13:21 · 332 阅读 · 0 评论 -
python的面向对象--self
self:哪一个对象调用的方法,self就是哪一个对象的引用(指向对象的内存地址空间)在调用方法的时候 程序员不需要传递self参数(定义的时候 第一个参数必须是self)class Cat: def eat(self): print('%s 爱吃鱼' %(self.name)) def drink(self): print('猫要喝水')...原创 2020-02-12 16:32:52 · 161 阅读 · 0 评论 -
python的面向对象和面向过程(意义和区别)
面向过程:侧重于怎么做1.把完成某一个需求的 所有步骤 从头到尾 逐步实现2.根据开发要求,将某些功能独立的代码封装成一个又一个函数3.最后完成的代码,就是顺序的调用不同的函数特点:1.注重步骤和过程,不注重职责分工2.如果需求复杂,代码变得非常复杂3.开发复杂的项目的时候,没有固定的套路,开发难度很大面向过程—>侧重于怎么做?面向对象—>测中于谁来做?面向对...原创 2020-02-12 13:44:23 · 2837 阅读 · 0 评论 -
python的多个装饰器 --练习题
要求编写装饰器required_types, 条件如下:1). 当装饰器为@required_types(int,float)确保函数接收到的每一个参数都是int或者float类型;2). 当装饰器为@required_types(list)确保函数接收到的每一个参数都是list类型;3). 当装饰器为@required_types(str,int)确保函数接收到的每一个参数都是str或者...原创 2020-01-13 01:29:01 · 155 阅读 · 0 评论 -
python的带参数的装饰器
import timeimport functoolsdef log(kind): def add_log(func): @functools.wraps(func) def wrapper(*args,**kwargs): start_time = time.time() res = func(*ar...原创 2020-01-13 01:26:19 · 125 阅读 · 1 评论 -
python的装饰器 --练习题
要求编写装饰器required_ints, 条件如下:1). 确保函数接收到的每一个参数都是整数;2). 如果参数不是整形数, 打印 TypeError:参数必须为整形编程import functoolsdef required_ints(func): @functools.wraps(func) def wrapper(*args,**kwargs): # (1,2,...原创 2020-01-13 01:23:54 · 226 阅读 · 0 评论 -
python的多个装饰器实现信息的登录
要求['root','admin','redhat']1.user in [ ]2.user+vip编程import functoolsimport inspectlogin_session = ['root','admin','redhat']def is_login(fun): @functools.wraps(fun) def warapper(*args,...原创 2020-01-13 01:22:10 · 144 阅读 · 0 评论 -
python的装饰器顺序
装饰顺序:组装装饰器时,就近原则,从下往上装饰执行顺序:就远原则,从上往下调用先进入离test函数最近的装饰器,由于装饰器中返回的是函数的函数名引用,并非真正的调用函数;到inner2后,func会真正的执行函数,会调用inner1;到inner1中,func会调用test函数;再从各个函数出来def wrapper_out1(func): # print('--out11--...原创 2020-01-13 01:19:59 · 226 阅读 · 1 评论 -
python的装饰器 --打印日志照片
要求创建装饰器, 要求如下:创建add_log装饰器, 被装饰的函数打印日志信息;日志格式为: [字符串时间] 函数名: xxx, 运行时间:xxx,运行返回值结果:xxx编程import timeimport functoolsdef add_log(func): @functools.wraps(func) def wrapper(*args,**kwar...原创 2020-01-13 01:17:00 · 183 阅读 · 0 评论 -
python的装饰器 --函数计算器
题目装饰器实现一个函数计时器1.被装饰的函数有返回值怎么办2.如何保留被装饰函数的函数名和帮助信息文档编程import timeimport randomimport stringimport functoolsli = [random.choice(string.ascii_letters) for i in range(100)]def timeit(func): ...原创 2020-01-13 01:14:20 · 185 阅读 · 0 评论 -
python的装饰器
####装饰器把一个函数当作参数传递给另一个函数 返回一个替代版的函数本质上就是一个返回函数的函数在不改变原函数的基础上 给函数增加功能练习一# 输入一个数字,输出与1相加的结果def add_one(number): return number + 1a = add_one(2)#调用函数print(a)练习二函数可以作为参数被传递def say_hello(...原创 2020-01-13 01:11:34 · 104 阅读 · 0 评论 -
python的mysql --练习题
题目随机生成100个人名和对应的密码;人名由三个汉字或者2个汉字组成,姓 = [许, 张, 赵, 钱, 孙, 李, 朱, 杨]名 = [彬, 群, 宁, 盼, 龙, 欢, 丹]密码统一6位, 由字母和字符组成;存储上述用户信息到数据库中,保存在数据库users中的userinfo表中;编程import randomfrom random import choice as cho...原创 2020-01-13 01:02:01 · 271 阅读 · 0 评论 -
python的mysql 3
import pymysql1.连接数据库conn = pymysql.connect(host='localhost', user='root', password='redhat', db='westos', ...原创 2020-01-13 01:00:01 · 66 阅读 · 0 评论 -
python的mysql 2
import pymysql1.连接数据库conn = pymysql.connect(host='localhost', user='root', password='redhat', db='westos', ...原创 2020-01-13 00:55:55 · 103 阅读 · 0 评论 -
python的mysql 1
创建数据表import pymysql1.连接数据库conn = pymysql.connect(host='localhost', user='root', password='redhat', db='westos', ...原创 2020-01-13 00:53:52 · 83 阅读 · 0 评论 -
python的table应用
python通过PrettyTable模块可以将输出内容如表格方式整齐的输出。python操作数据库会经常用到此模块。from prettytable import PrettyTablefield_names = ("ID",'名字','英语成绩','Python成绩','C语言成绩')table = PrettyTable(field_names=field_names)print...原创 2020-01-13 00:48:12 · 1412 阅读 · 0 评论 -
python的re模块
import reinputStr = 'hello 123 world 456'# replaceStr = inputStr.replace('111','222')# print(replaceStr)replaceStr = re.sub('\d+','222',inputStr)print(replaceStr)"""\d:匹配任意一个数字 包括[0-9]和其他数字字符...原创 2020-01-13 00:45:29 · 64 阅读 · 0 评论 -
python的linux文件之间的对比
在做此实验时,首先复制一个passwd文件,改变其中一个文件,使两个文件不同。import difflibfilename1 = '/tmp/passwd'filename2 = '/tmp/passwd1'with open(filename1) as f1,open(filename2) as f2: content1 = f1.read().splitlines(keepe...原创 2020-01-13 00:43:24 · 194 阅读 · 0 评论 -
python的difflib模块之文本对比
什么是difflib? 用来做什么?difflib为python的标准库模块,无需安装。作用是对比文本之间的差异。并且支持输出可读性比较强的HTML文档,与Linux下的diff命令相似。在版本控制方面非常有用。符号理解符号含义‘-’包含在第一个系列行中,但不包含第二个。‘+’包含在第二个系列行中,但不包含第一个。’ ’两个系列行一致‘?’...原创 2020-01-13 00:41:07 · 152 阅读 · 0 评论 -
python的应用案例 --系统的监测
题目需求:1. 获取当前主机信息, 包含操作系统名, 主机名,内核版本, 硬件架构等2. 获取开机时间和开机时长;3. 获取当前登陆用户编程import osimport psutilfrom datetime import datetimeprint('主机信息'.center(50,'*'))info = os.uname()print(""" 操作系统:%s...原创 2020-01-13 00:35:33 · 65 阅读 · 0 评论 -
python的datetime
import osfrom datetime import datefrom datetime import datetimefrom datetime import timedeltaprint(date.today())print(datetime.now())如何计算三天前的时间和三天后的时间d = date.today()delta = timedelta(days=3...原创 2020-01-13 00:29:54 · 62 阅读 · 0 评论 -
python的时间转换
把元组时间转换为时间戳tuple_time = time.localtime()print(tuple_time)print(time.mktime(tuple_time))结果把元组时间转化为字符串时间print(time.strftime('%d-%m',tuple_time))print(time.strftime('%Y/%m/%d',tuple_time))prin...原创 2020-01-13 00:26:20 · 144 阅读 · 0 评论 -
python的时间模块
时间表示的几种形式1.时间戳2.字符串时间3.元组类型的时间1.时间戳print(time.time())结果2.字符串时间print(time.ctime())结果3.元组时间print(time.localtime())info = time.localtime()print(info)print(info.tm_year)print(info.tm_...原创 2020-01-13 00:18:32 · 51 阅读 · 0 评论 -
python的os模块 --练习题
练习一在当前目录新建目录img, 里面包含多个文件,文件名各不相同(X4G5.png)将当前img目录所有以.png结尾的后缀名改为.jpg编程import randomimport stringimport osdef gen_code(len=4): # 随机生成四位随机数 li = random.sample(string.ascii_letters+s...原创 2020-01-13 00:15:22 · 636 阅读 · 0 评论 -
python的os模块
import os1.返回操作系统类型返回值:posix是linux操作系统返回值:nt是windows操作系统print(os.name)print('Linux' if os.name== 'posix' else 'Windows')结果2.操作系统的详细信息info = os.uname()print(info)print(info.sysname)print(...原创 2020-01-13 00:12:22 · 111 阅读 · 0 评论 -
python的练习题 --综合
题目给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母输入:”23”输出:[“ad”, “ae”, “af”, “bd”,“be”, “bf”, “cd”, “ce”, “cf”].说明:尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序编程def phpneLetter(dig...原创 2020-01-12 23:59:14 · 488 阅读 · 0 评论 -
python的练习题 --京东
题目生成一个大文件ips.txt,要求1200行,每行随机为172.25.254.0/24段的ip;读取ips.txt文件统计这个文件中ip出现频率排前10的ip;编程import randomdef create_ip_file(filename): ips = ['172.25.254.' + str(i) for i in range(1,255)] prin...原创 2020-01-12 23:56:31 · 72 阅读 · 0 评论 -
python的上下文管理器
上下文管理器打开文件 执行完with语句后 自动关闭该文件with open('/tmp/passwd') as f: print(f.read())print(f.closed)结果原创 2020-01-12 23:54:04 · 68 阅读 · 0 评论 -
python的文件 --练习题
题目创建文件data.txt 文件共有100000行每行存放一个1~100之间的整数生成100个MAC地址并写入文件中,MAC地址前6位(16进制)为01-AF-3B01-AF-3B(-xx)(-xx)(-xx)-xx01-AF-3B-xx-xx01-AF-3B-xx-xx-xx01-AF-3B-xx-xx-xx编程import randomimport string...原创 2020-01-12 23:50:14 · 504 阅读 · 0 评论 -
python的文件3
要求默认情况下 读取文件的内容 小的文件:直接read读取即可如果是一个大文件(file size >=mem) readline()f = open('/tmp/passwd','rb')按行读取print(f.readline())print(f.readline())按照字节读# print(f.read(3))print(f.read())# 读取文件内容 ...原创 2020-01-12 23:46:28 · 71 阅读 · 0 评论 -
python的文件2
要求如果读取的是 图片 音频 视频(非纯文本文件)需要通过二进制的方式读取和写入读取纯文本文件r r+ w w+ a a+ === rt rt+ wt wt+ at at+读取非纯文本文件rb rb+ wb wb+ ab ab+# 读取二进制文件内容f1 = open('hello.jpg',mode='rb')content = f1.read()f1.close()f2 ...原创 2020-01-12 23:42:55 · 62 阅读 · 0 评论 -
python的文件1
主题: 文件的打开、关闭、文件的定位以及判断文件拥有的权限文件的操作:打开—>操作—>关闭r(readonly)默认参数-只能读 不能写-读取文件不存在 会报错w-写文件(write only)-文件存在时,会清空文件的内容并写入新的文件内容-文件不存在,会创建新的文件并写入内容a-写文件(write only)-写:不会清空文件内容 会在文件末尾追加-写:文件...原创 2020-01-12 23:41:01 · 55 阅读 · 0 评论 -
python的字符串 --练习题
题目快速生成验证码(内推码/密码 nums+alpha)编程import randomimport string# print(string.ascii_letters)# print(string.ascii_uppercase)# print(string.ascii_lowercase)# print(string.digits)code_str = string.as...原创 2020-01-12 23:36:54 · 1038 阅读 · 0 评论 -
python的内置函数sort
1.定义一个列表,使用内置函数sort进行排序:li = [4, 5, 6, 7, 2, 1, 3, 8, 9, 10]li.sort()print(li)2.将列表赋值给新列表,将新列表进行排序,原列表内容不变:li=[4,3,6,1,5,10,9]li1=li[:]#[:]提取从开头(默认位置0)到结尾(默认位置-1)的整个字符串li1.sort()print(li1)pr...原创 2020-01-12 23:34:34 · 460 阅读 · 0 评论 -
python的高阶函数 --练习题
题目将一个字符串转换成整型‘12345’—12345‘0’:0‘1’:1‘2’:2…‘9’:9编程from functools import reducedef str_int(s):#定义一个函数,用于把字符串型转换成整型 def char_int(ch):#定义一个函数,用于把字符串中的每个数字都分开 ,做成一个字典 c = {str(x): x...原创 2020-01-12 23:24:15 · 440 阅读 · 0 评论 -
python的匿名函数
匿名函数匿名函数的关键字 lambda冒号前面是 形参 冒号后面是返回值from functools import reduce# def add(x,y):# return x+y# print(reduce(add,range(100)))print(reduce(lambda x,y:x+y,range(100)))## def mypow(num):# ...原创 2020-01-12 23:20:51 · 145 阅读 · 0 评论 -
python的内置高阶函数filter
filter过滤函数和map()类似的,也接收一个函数和一个序列但是和map()不同的是 filter()把传入的函数依次作用于序列的每个元素 然后根据返回值是True或者False决定保留还是丢弃该元素def isodd(num): if num % 2 == 0: return True else: return Falseprint...原创 2020-01-12 23:19:02 · 61 阅读 · 0 评论 -
python的内置高阶函数reduce
内置高阶函数reducereduce():把一个函数作用在一个序列上,这个函数必须接收两个参数reduce把结果继续和序列的下一个元素做累积计算reduce(f,[1,2,3,4]) = f(f(f(1,2),3),4)版本python2reduce是内置函数python3.xfrom functools import reducefrom functo...原创 2020-01-12 23:17:18 · 84 阅读 · 0 评论 -
python的高阶函数
高阶函数-实参是一个函数-函数的返回值也是一个函数# 函数本身也是可以赋值给变量的 变量可以指向函数print(abs(-10))f = abs #f=1print(f(-10))def fun(x,y,f): return f(x),f(y)print(fun(-10,34,abs))结果...原创 2020-01-12 23:14:07 · 59 阅读 · 0 评论 -
python的练习题 --京东
题目生成一个大文件ips.txt,要求1200行,每行随机为172.25.254.0/24段的ip;读取ips.txt文件统计这个文件中ip出现频率排前10的ip;编程import randomdef create_ip_file(filename): ips = ['172.25.254.' + str(i) for i in range(1,255)] prin...原创 2020-01-12 23:11:32 · 80 阅读 · 0 评论