python
python编程
_nigar
每一天都值得被认真对待
展开
-
单例设计模式
单例设计模式设计模式设计模式是前人工作的总结和提炼,通常,被人们广泛流传的设计模式都是针对某一特定问题的成熟解决方案使用设计模式是为了可重用代码,让代码更容易被他人理解,保证代码可靠性单例设计模式目的:让类创建对象,在系统中只有唯一的一个实例(对象)每一次执行类名()返回的对象 内存地址是相同的怎么保证这些对象只有一个?__new__方法:我们用类名的方式创建对象的时候...原创 2020-01-31 16:19:47 · 201 阅读 · 0 评论 -
私有属性和私有方法
私有属性和私有方法class Student(object): def __init__(self,name,score): # 前面带两个下划线表示对变量进行私有化 # 外部不能随便的访问和更改 self.__name = name self.__score = score def get_grand(self)...原创 2020-01-31 16:08:51 · 239 阅读 · 0 评论 -
类属性,类方法和静态方法
类属性,类方法和静态方法1.类属性 类方法类属性:针对类对象定义的属性 使用赋值语句在class关键字下可以定义类属性类方法:针对类对象定义的方法 在类方法内部可以直接访问类属性或者调用其他的类方法class Toy(object): # 使用赋值语句 记录所有的玩具数量 count = 0 def __init__(self,name): self...原创 2020-01-31 16:08:30 · 199 阅读 · 0 评论 -
多态
多态多态(以封装和继承为前提)不同的子类对象调用相同的方法 产生不同的执行结果class Dog(object): def __init__(self,name): self.name = name def game(self): print('%s 开心的玩耍~' %(self.name))class Gaifei(Dog): #...原创 2020-01-30 22:09:18 · 162 阅读 · 0 评论 -
继承
继承文章目录继承1. 继承2. 类的结构3. 新式类和旧式(经典)类1. 继承继承具有传递性当父类方法的实现不能满足子类的需求的时候,可以对父类方法进行重写1.覆盖父类方法2.对父类的方法进行扩展class Animal: def eat(self): print('吃!!!') def drink(self): print('喝!!!...原创 2020-01-30 22:05:55 · 484 阅读 · 0 评论 -
封装
封装封装:1.封装是面向对象编程的一大特点2.面向对象编程的第一步 将属性和方法封装到一个抽象的类中3.外界使用类创建对象,然后让对象调用方法4.对象方法的细节都被封装在类的内部练习1:需求1.小明体重75.0公斤2.小明每次跑步都会减肥0.5公斤3.小明每次吃东西体重都会增加1公斤需求1.小明和小美都爱跑步2.小美体重45.0公斤2.每次跑步都会减肥0.5公斤3....原创 2020-01-30 21:44:35 · 766 阅读 · 0 评论 -
栈和队列
栈和队列文章目录栈和队列1.栈2.队列1.栈栈:先进后出 。功能:入栈 出栈 取栈顶元素 判断栈是否为空 显示栈的元素class Stack: def __init__(self): self.stack =[] def push(self,value): """ :param value: 入栈元素 ...原创 2020-01-30 21:37:07 · 102 阅读 · 0 评论 -
面向对象
面向对象文章目录面向对象1.面向对象和面向过程的区别2.定义类3.初始化方法4.str5.del1.面向对象和面向过程的区别面向过程:侧重于怎么做把完成某一个需求的 所有步骤 从头到尾 逐步实现。根据开发要求,将某些功能独立的代码封装成一个又一个函数。最后完成的代码,就是顺序的调用不同的函数。特点:注重步骤和过程,不注重职责分工。如果需求复杂,代码变得非常复杂开发复杂的项...原创 2020-01-30 21:31:20 · 138 阅读 · 0 评论 -
redis存储系统
redis存储系统文章目录redis存储系统1.什么是redis2.redis的安装3.redis的连接4.redis的具体使用1.什么是redisREmote DIctionary Server(Redis) 是一个key-value存储系统。使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API(python, ...原创 2020-01-30 21:12:11 · 290 阅读 · 0 评论 -
paramiko(基于ssh用于连接远程服务器)
paramiko(基于ssh用于连接远程服务器)文章目录paramiko(基于ssh用于连接远程服务器)1.ssh的linux远程连接过程2.paramiko批量远程密码连接3.paramiko批量远程上传和下载1.ssh的linux远程连接过程# ssh username@ip passwd# 解决的问题:如果只前没有连接过的ip 会出现"""[root@foundation0 ....原创 2020-01-30 20:01:44 · 561 阅读 · 0 评论 -
pycharm中的mysql
pycharm中的mysql文章目录pycharm中的mysql1.环境配置2.连接数据库并创建表- 数据库连接对象- Connection对象常用的方法3.创建数据表4.插入数据4.查询数据5.游标的移动1.环境配置需要在自己的linux 中安装mariadb-server 程序(端口为3306),并且开启。注意:不能进行网络的安全设定,因为通过网络来在pycharm中进行操作。设定...原创 2020-01-30 18:26:20 · 836 阅读 · 0 评论 -
装饰器
装饰器文章目录装饰器1. 装饰器2.@修饰符- - -语法糖1. 装饰器把一个函数当作参数传递给另一个函数 返回一个替代版的函数本质上就是一个返回函数的函数在不改变原函数的基础上 给函数增加功能函数可以作为参数被传递def say_hello(name): return f"Hello {name}"def be_some(name): return f"Y...原创 2020-01-30 17:14:48 · 120 阅读 · 0 评论 -
eval内置函数
eval内置函数文章目录eval内置函数1.字符串转换成列表2.字符串转换成字典3.字符串转换称元组1.字符串转换成列表a = "[[1,2],[3,4]]"print(type(a))b = eval(a)c = list(a)print(type(b))print(type(c))print(b)print(c)2.字符串转换成字典a = "{1:'a',2:'b'...原创 2020-01-30 17:00:13 · 235 阅读 · 0 评论 -
异常
异常1.常见的异常print(10/0)ZeroDivisionError: division by zerostr = ‘hello’print(str[10])IndexError: string index out of ranged = dict(a=1,b=2)d = {‘a’:1,‘b’:2} print(d.get(‘c’,‘key不存在’)) p...原创 2020-01-30 16:55:51 · 132 阅读 · 0 评论 -
table的应用
table的应用from prettytable import PrettyTablefield_names = ("ID",'名字','英语成绩','Python成绩','C语言成绩')table = PrettyTable(field_names=field_names)table.add_row(['05','nigar',99,80,60])print(table)...原创 2020-01-30 16:35:22 · 153 阅读 · 0 评论 -
re模块
re模块用法说明str.replace(old, new[, max])replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。re.sub(’\d+’,‘666’,inputStr)将inputStr中的数字替换成666\d:匹配任意一个数字 包括[0-9]和其他数字字符\D...原创 2020-01-30 16:29:49 · 162 阅读 · 0 评论 -
difflib模块之文本对比
difflib模块之文本对比文章目录difflib模块之文本对比1.difflib模块2.difflib模块用法3.符号理解4.实现文本对比5.linux文件之间的对比1.difflib模块difflib为python的标准库模块,无需安装。作用是对比文本之间的差异。并且支持输出可读性比较强的HTML文档,与Linux下的diff命令相似。在版本控制方面非常有用。2.difflib模...原创 2020-01-30 16:25:40 · 408 阅读 · 0 评论 -
时间模块练习
时间模块练习需求:1. 获取当前主机信息, 包含操作系统名, 主机名,内核版本, 硬件架构等2. 获取开机时间和开机时长;3. 获取当前登陆用户psutil模块可以实现获取系统运行的进程和系统利用率psutil.boot_time()- - -获取开机时间psutil.users()- - - 获取当前系统用户登录信息import osimport psutilfro...原创 2020-01-30 16:11:54 · 120 阅读 · 0 评论 -
datetime的用法
datetime的用法1.时间的显示import osfrom datetime import datefrom datetime import datetimefrom datetime import timedeltaprint(date.today()) # 日期print(datetime.now()) # 现在具体时间2.计算三天前的时间和三天后的时间d = da...原创 2020-01-29 20:29:02 · 797 阅读 · 0 评论 -
时间模块
时间模块文章目录时间模块1.时间戳2.字符串时间3.元组时间4.常用时间的转换- 把元组时间转换为时间戳- 把元组时间转化为字符串时间- 将时间戳类型的时间转换为字符串时间- 将时间戳类型转换为元组类型的时间- 将元组时间转化为时间戳时间表示的几种形式1.时间戳2.字符串时间3.元组类型的时间import timeimport os1.时间戳time.time() 1970...原创 2020-01-29 20:22:36 · 146 阅读 · 0 评论 -
os模块2
os模块2利用time.time()方法,我们可以计算两个时间点之间的时间间隔,但是有些时候我们想要得到/etc/group文件的最后m/a/c/time的时间,对应的年月日这些信息并保存再文件date.txt文件中import osimport timetime1 = os.path.getctime('/etc/group')print(time1)tuple_time =...原创 2020-01-29 18:30:21 · 115 阅读 · 0 评论 -
os模块练习
os模块练习在当前目录新建目录img, 里面包含多个文件, 文件名各不相同(X4G5.png)将当前img目录所有以.png结尾的后缀名改为.jpg提示:os.listdir(path) 返回path指定的文件夹包含的文件或文件夹的名字的列表import randomimport stringimport osdef gen_code(len=4): # 随机生成...原创 2020-01-29 18:28:31 · 152 阅读 · 0 评论 -
os模块
os模块文章目录os模块1.返回操作系统类型2.操作系统的详细信息3.系统的环境变量4.绝对路径- 判断是否是绝对路径- 生成绝对路径5.获取目录名和文件名6.创建和删除目录- 创建目录- 删除目录7.创建和删除文件- 创建文件- 删除文件8.文件的重命名9.文件名和目录名- 判断文件或目录名是否存在- 分离后缀名和文件名- 将目录名和文件名分离1.返回操作系统类型返回值:posix是lin...原创 2020-01-29 18:20:32 · 141 阅读 · 0 评论 -
文件练习
文件练习练习1:创建文件data.txt 文件共有100000行每行存放一个1~100之间的整数import stringprint(string.hexdigits)f = open('/tmp/passwd')# print(list(map(lambda x:x.strip(),f.readlines())))print([line.strip() for line in ...原创 2019-12-26 18:18:43 · 393 阅读 · 0 评论 -
python中的文件
python中的文件文章目录python中的文件1.对文件的常用操作2.文件的读取3.使用seek方法来移动指针- 文件指针- f.seek()移动指针4.上下文管理器文件的基本操作有三步:打开文件 —>操作文件 —>关闭文件1.对文件的常用操作r(readonly)默认参数 -只能读,不能写 -读取文件不存在会报错w -写文件(write onl...原创 2019-12-26 18:10:35 · 560 阅读 · 0 评论 -
字典的补充
字典的补充value值固定为一个默认的值: {}.fromkeys随机生成100个卡号;卡号以6102009开头, 后面3位依次是 (001, 002, 003, 100),生成关于银行卡号的字典, 默认每个卡号的初始密码为"redhat";输出卡号和密码信息, 格式如下:卡号 密码6102009001 0000...原创 2019-12-26 16:35:37 · 152 阅读 · 0 评论 -
Python中的匿名函数
Python中的匿名函数1.匿名函数匿名函数:关键字为lambda ,冒号前面是形参 ,冒号后面是返回值代码块重复:这时候必须考虑用到函数,降低程序的冗余度代码块复杂:这时候可以考虑用到函数,降低程序的可读性在Python中有两种函数,一种是def定义,一种是lambda函数例如:求两个数之和(函数方法有两种)普通函数:def fun(*args,**kwargs): ret...原创 2019-12-26 16:25:03 · 549 阅读 · 0 评论 -
内置高阶函数sorted
内置高阶函数sorted格式如下:sorted(序列,key=函数名)示例1:对列表进行排序li = [4, 5, 6, 7, 2, 1, 3, 8, 9, 10]# 不想改变原来的列表内容li1 = li[:]li1.sort()print(li1)print(li)li2 = sorted(li)print(li2)print(li)li3 = [4, -5, -6,...原创 2019-12-26 15:45:25 · 155 阅读 · 0 评论 -
内置高阶函数filter
内置高阶函数filterfilter()过滤函数:接收两个参数,一个是函数,一个是序列filter函数把传入的函数依次作用于序列中的每个元素,然后根据返回值是True或False来决定保留或丢弃该元素filter和map函数的异同和map()相同的是:也接收一个函数和一个序列但是和map()不同的是 :filter()把传入的函数依次作用于序列的每个元素 然后根据返回值是True或者Fa...原创 2019-12-26 15:31:08 · 140 阅读 · 0 评论 -
内置高阶函数reduce
内置高阶函数reducereduce():把一个函数作用在一个序列上,这个函数必须接收两个参数reduce把结果继续和序列的下一个元素做累积计算比如:reduce(f,[1,2,3,4]) = f(f(f(1,2),3),4)python2和python3中区别:python2:reduce是内置函数python3.x:from functools import reduce示例1:...原创 2019-12-26 15:22:44 · 111 阅读 · 0 评论 -
内置高阶函数map
内置高阶函数mapmap():接收两个参数 一个是函数 一个是序列map将传入的函数依次作用到序列的每个元素 并且把结果作为新的序列返回示例1:对一个序列[-1,3,-4,-5]的每一个元素求绝对值import randomprint(list(map(abs,[-1,3,-4,-5])))结果:示例2:对序列的每个元素求阶乘import randomdef f(x):...原创 2019-12-26 15:13:07 · 170 阅读 · 0 评论 -
高阶函数
高阶函数高阶函数实参是一个函数函数的返回值也是一个函数示例:def fun(a,b): return a+ba = fun(1,2)print(a) # a+b=1+2结果:函数本身也可以赋值给变量,变量可以指向函数示例:f = abs # abs绝对值函数print(f(-10)) 结果:传递的参数包括函数名示例:def f...原创 2019-12-26 13:33:03 · 143 阅读 · 0 评论 -
字典生成式
字典生成式示例1:假设有20个学生,学生的分数在60~100之间,筛选出成绩在90分以上的学生方法1:import randomstuInfo = {}for i in range(20): name = 'westos' + str(i) score = random.randint(60, 100) stuInfo[name] = scoreprint(...原创 2019-12-26 13:24:13 · 124 阅读 · 0 评论 -
列表生成式练习
列表生成式练习1.练习1题目需求:对于一个十进制的正整数, 定义f(n)为其各位数字的平方和,如:f(13) = 1* * 2 + 3 * * 2 = 10f(207) = 2 * * 2 + 0 * * 2 + 7 * * 2 = 53下面给出三个正整数k,a, b,你需要计算有多少个正整数n满足a<=n<=b,且k*f(n)=n输入:第一行包含3个正整数k,a, ...原创 2019-12-26 13:13:15 · 594 阅读 · 0 评论 -
列表生成式
列表生成式[返回结果 条件]示例1:生成一个列表,列表元素分别为[1 * * 1,2 * * 2…9 * * 9]方法1:import mathli = []for i in range(1, 10): li.append(i ** i)print(li)方法2:列表生成式print([i ** i for i in range(1, 10)]) # 在序列(1,...原创 2019-12-26 12:48:26 · 304 阅读 · 0 评论 -
python中的深拷备和浅拷备
python中的深拷备和浅拷备当一个 变量=x 的时候,约定为:指向地址的过程1.直接赋值直接赋值的对象指向被赋值对象的内存地址空间。 因此, 原有对象改变, 被赋值的对象也会做相应的改变2. 浅拷备:copy.copy()想给一个变量获取一个和另一个变量相同的值,但是拥有自己独立的内存地址空间的时候,可以使用copy.copy()模块但是如果另一个变量是不可变数据类型的时候,浅拷备...原创 2019-12-25 18:22:37 · 319 阅读 · 1 评论 -
python中is和==的区别
python中is和==的区别id():在内存中存储的位置type():变量的类型==和is都要比较value值和数据类型,而不同的是is除了比较这两个以外还要比较id是否相等(即是否用一段内存地址空间)==:type valueis:type value id举例1:a和b类型不同,所以a== b返回False当a和b类型相同,value值相等时,a == b当a和b共用一块内...原创 2019-12-24 15:34:18 · 113 阅读 · 0 评论 -
函数练习---多个函数同时使用
函数练习—多个函数同时使用用函数实现求100-200里面所有的素数。提示:素数的特征是除了1和其本身能被整除,其它数都不能被整除的数def test(num): list = [] #定义一个列表 用于存储计算的数 i = num -1 # 去除本身 while i > 1: # 去除1 if num %i == 0 : #判断是否有余数 ...原创 2019-12-23 18:11:50 · 905 阅读 · 0 评论 -
函数练习---可变参数练习
函数练习—可变参数练习练习1:编写一个函数cacluate, 可以接收任意多个数,返回的是一个元组.元组的第一个值为所有参数的平均值, 第二个值是大于平均值的所有数.def cacluate(*args): sum_num=sum(args) # print(sum_num) ave_num=int(sum(args)/len(args)) # print(...原创 2019-12-23 18:00:27 · 505 阅读 · 0 评论 -
函数的返回值以及函数中变量的作用域
函数的返回值以及函数中变量的作用域文章目录函数的返回值以及函数中变量的作用域1.函数的返回值2.作用域1.函数的返回值返回值:函数运算的结果还需要进一步操作,给函数一个返回值1.return用来返回函数执行的结果,如果函数没有返回值,默认返回None;函数一旦遇到return,函数执行结束,后面的代码不会执行2.多个返回值的时候,python会帮我们封装成一个元组类型def mypow...原创 2019-12-23 17:17:38 · 487 阅读 · 0 评论