- 博客(48)
- 收藏
- 关注
原创 地铁python———单例设计模式
class singleton(object): instance=None @classmethod def __new__(cls, *args, **kwargs): if cls.instance is None:#申请内存,创建一个对对象,并把对象类型设为cls cls.instance=object.__new__(cls) return cls.instance def __init__(self,a,b.
2020-07-14 13:08:51
173
原创 地铁python——魔法方法2补充
class person(object): def __init__(self,name,age): self.name=name self.age=age def __eq__(self, other): print('__eq__方法被调用了, other=',other) if self.name==other.name and self.age==other.age: return True .
2020-07-07 22:55:35
209
原创 地铁python——面向对象之__INIT__魔法方法
#魔法算法也叫魔术算法,是类里面的特殊的一些算法#特点:#1、不需要手动调用,会在合适的时机自动调用#2、这些方法,都是用__开始,使用__结束#3、方法名字都是系统规定好的,在合适的时机自动调用import timeimport datetimex=datetime.datetime(2020,7,7,15,34,45,400)print(x)print(repr(x))print('_________________________________________________.
2020-07-07 13:11:27
201
原创 地铁python——uuid模块
import uuid #用于生成一个全局唯一的id,全局唯一的标识符print(uuid.uuid1())#32个长度,每个字符有16个选择 16**32很大的数字。mac#随机的print(uuid.uuid3(uuid.NAMESPACE_DNS,'zhangsan'))#生成固定的uuid,MD5print(uuid.uuid5(uuid.NAMESPACE_DNS,'zhangsan'))#生成固定的uuid,sha#uuid3与uuid5是使用传入的字符串根据指定的算法算出来的,是.
2020-07-05 02:01:36
162
原创 地铁python——包的创建与使用
#可以将多个具有相似或者有关联的多哥模块放到一个文件夹里面,便于统一管理#这个文件夹,我们可以称之为包#py包里面,会有一个__init__.py文件(非常复杂)from chat import recvprint(recv.y)new——package init文件...
2020-07-05 02:00:44
129
原创 地铁python——用自己定义的模块跟相关调用规则 与 __name__的使用
#一个模块本质上就是一个py文件#自己写一个模块就可以写个py文件import 加密 #如果一个py文件当一个模块导入,模块的名称一定要遵守命名规则,不可以数字开头#由文字,下划线,文字组成#导入加密模块之后可以使用加密里的各种方法和变量#from demo import *:导入这个demo得所有变量名和函数#本质是读取模块里__all__的定义了哪些变量名字和函数#如果模块中没有定义__all__才会导入所有不以_开头的变量名字和函数名#__all__=['m','test']这里给a.
2020-07-05 01:58:38
166
原创 地铁python——下载模块或者包 pip
#用于调用非官方模块 teminal#管理第三方软件#使用第三方模块from flask import Flask#py查找模块的时候在哪些路径下查找import sys''''C:\\BuildAgent\\work\\7116a2615eef197f\\out\\kotlinRun\\classes\\production\\intellij.python.helpers', 'C:\\BuildAgent\\work\\7116a2615eef197f\\out\\kotlin.
2020-07-05 01:56:06
310
1
原创 地铁python——模块(加密 hashlib&hmac)
import hashlibimport hmac###加密模块#hashilb :md5和SHA加密x=hashlib.md5()x.update('abc'.encode('utf8'))print(x.hexdigest())#abc===>900150983cd24fb0d6963f7d28e17f72#单向的,无法abc<====900150983cd24fb0d6963f7d28e17f72#可以破解,在线MD5查询#MD5我们看到的场景:下载文件的时候:下载之.
2020-07-05 01:54:52
145
原创 地铁python——模块(calender)
import calendarprint(calendar.calendar(2020))import hashlibimport hmac###加密模块#hashilb :md5和SHA加密x=hashlib.md5()x.update('abc'.encode('utf8'))print(x.hexdigest())#abc===>900150983cd24fb0d6963f7d28e17f72#单向的,无法abc<====900150983cd24fb0d6963f.
2020-07-05 01:52:43
292
原创 地铁python——名片管理系统(第一阶段作业)
##toolscard_list = []def show_menu(): """显示菜单""" print ('*' * 50) print ('欢迎使用【名片管理系统】') print ('') print( '1.新增名片') print ('2.显示全部') print ('3.搜索名片') print ('0.退出系统') print( '*' * 50)def new_card(): """新增名片
2020-07-04 10:35:30
293
原创 地铁python——闭包:代码执行时间
##计算一个代码的执行时间import time#time 模块start=time.time()#time 模块里的time方法,可以获取当前的时间和时间戳——1970年01月01日0点UTC到现在的秒数,北京时间是UTC+8x=0for i in range(1,500000): x+=iprint(x)end=time.time()print('代码运行耗时{}秒'.format(end-start))#优化:def foo(): print('hello').
2020-07-03 12:52:56
348
原创 地铁python ——高阶函数
#高阶函数:1、一个函数作为另一个函数的返回值 2、一个函数作为另一个函数的参数 3、函数内部在定义一个函数def foo(): print('我是foo,我被调用了!') return 'foo'def bar(): print('我是bar,我被调用了!') return foo()bar()foo()print('____'*20)#内部:def outer(x): print('我是outer,我被调用了!') def inner().
2020-07-03 11:49:43
154
原创 地铁python)——函数2
print(num1)print(num2)#实现拆包过程#字典dict={'name':'tom','age':28}a,b=dictprint(a)print(b)print(dict[a])print(dict[b])print('_'*30)#交换变量值a,b=1,2a,b=b,aprint(a)print(b)#引用#值是依靠引用传递来的:我们可以用id()来判断两个变量是否为同一个值得引用,我们可以将id值理解为那块在内存的地址标识a=1b=apri.
2020-07-02 11:36:05
163
原创 地铁python——函数
#作用#使用步骤#参数作用#返回值作用#说明文档#函数嵌套#1、作用:将一段具有独立功能的代码块,整合到一个整体命名,在需要的位置上调用这个名称即完成对应需求#在开发过程中,可以更高效的实现代码的重用#例子: 用户到ATM机取钱:#1、输入密码显示‘选择功能’界面#2、查询余额后显示‘选择功能’界面#3、取两千块钱之后显示‘选择功能’界面#特点:显示:‘选择功能’界面需要重复输出给用户,怎么实现#2使用步骤:#2.1定义函数'''def 函数名(参数) 代码1.
2020-06-23 13:46:56
394
1
原创 地铁python——集合推导式
#需求创建集合,数据为下方列表的2次方list1=[1,1,2]set1={i**2 for i in list1}print(set1)##注意:集合具有数据去重功能结果:{1, 4}
2020-06-23 13:04:57
148
原创 地铁python——字典推导式
#快速合并列表为字典或者提取字典中的木变数据list1=['name','age','gender']list2=['Tom',20,'man']#目的:快速合并成一个字典#例题:创建一个字典:字典key是1-5的数字,value是这个数字的2次方dict1={i : i**2 for i in range(1,5) }print(dict1)#将两个列表合并成一个字典:dict2={list1[i]:list2[i] for i in range(len(list1)) }print.
2020-06-23 12:41:00
203
原创 地铁python——列表推导式
#1、列表推导式#2、字典推导式#3、集合推导式#列表推导式:用一个表达式创建一个有规律的列表或者控制一个有规律的列表#例子:创建一个0-10的列表(不要 10)#方法一:while 循环实现list1=[]i=0while i<10: list1.append(i) i+=1print(list1)#方法二:for 循环实现del list1list1=[]for i in range(10): list1.append(i)print(.
2020-06-22 18:03:16
140
原创 地跌python——公共操作
#1、运算符 2、公共方法 3、容器类型转化#运算法:+ * in not indict1={'name':'python'}dict2={'age':20}str1='aa'str2='bb'list1=[1,2]list2=[10,30]t1=(1,2)t2=(10,20)# + 无字典————合并print(str1+str2)print(list2+list1)print(t1+t2)#print(dict2+dict1)#报错print()print(str1*.
2020-06-22 17:43:58
112
原创 地铁python——集合
#1、创造集合#使用{}或者set()创建,但是如果要创建空集合只能使用set(),因为{}用于创建空字典S1={10,20,30,40,50}S2={10,20,30,40,50,40,50,10}S3=set('abcdefg')S4=set('')print(S1)print(S2)print(S3)print(S4)print(type(S4))#2、集合特点#1、无顺序 2、不重复 3、无下标 4、可变类型#3、集合常见操作: #3.1 增加数据S5={10,20.
2020-06-19 17:46:16
268
原创 地铁python——元祖2(循环遍历)
dict1={'name':'tom','age':20,'gender':'男'}for key in dict1.keys():#遍历字典的key值 print(key)print()for value in dict1.values():#遍历字典的value print(value)print()for item in dict1.items():#遍历字典的元素 print(item)print()for key,value in dict1.items().
2020-06-19 12:52:23
297
原创 地铁pyhon——字典
#应用场景'''数据顺序发生变化,每个数据下标会随之变化,如何保证顺序变化后前后使用同一的标准查找数据呢?字典:字典的数据是以键值对的形式出现,字典顺序和数据的顺序无关,字典不支持下标,后期无论数据如何变化,只需要按照相对应的键得名字查找数据即可'''#创建字典:#特点:1、{} 2、数值为键值对形式出现。 3、各个键值之间用逗号隔开dict1={'name':'tom','age':20,'gender':'男'}dict2={}dict3=dict()#常见操作:# 1、增加.
2020-06-18 14:45:29
125
原创 地铁python——元祖
#1、应用场景:储存多个数据,但是这些数据是不能修改的数据#(xx,bb,cc)#2、定义:多个数据: t1=(10,20,30) #单个数据:t2=(10,)t1=(10,20,30)t2=(10,)t3=(10)print(type(t2))print(type(t3))#元祖的常用操作#元祖不支持修改,只支持查找,具体如下tuple1=('aa','bb','cc','bb')print(tuple1[0])#index(): 查找某个数据,如果数据存在返回.
2020-06-18 12:58:45
230
原创 地铁python_列表——老师随机分配办公室3(while改进加下标处理)
#随机分配办公室'''需求:有三个办公司,8位老师,8位老师随机分配到3个办公室。步骤:1、准备数据 1.1八位老师列表 1.2三个办公室列表嵌套2、分配老师到办公室——随机分配:random——把老师名字写到办公室列表中——办公室列表追加老师名字数据3、验证分配成功与否:——打印办公室详细信息——人数与名字'''import random #生成随机数#准备数据:teachers=['A','B','C','D','E','F','G','H']offices=[[],[],[.
2020-06-16 17:09:26
288
原创 地铁python_列表——老师随机分配办公室2(while改进)
#随机分配办公室'''需求:有三个办公司,8位老师,8位老师随机分配到3个办公室。步骤:1、准备数据 1.1八位老师列表 1.2三个办公室列表嵌套2、分配老师到办公室——随机分配:random——把老师名字写到办公室列表中——办公室列表追加老师名字数据3、验证分配成功与否:——打印办公室详细信息——人数与名字'''import random #生成随机数#准备数据:teachers=['A','B','C','D','E','F','G','H']offices=[[],[],[.
2020-06-16 13:34:45
271
原创 地铁python_列表——老师随机分配办公室
#随机分配办公室'''需求:有三个办公司,8位老师,8位老师随机分配到3个办公室。步骤:1、准备数据 1.1八位老师列表 1.2三个办公室列表嵌套2、分配老师到办公室——随机分配:random——把老师名字写到办公室列表中——办公室列表追加老师名字数据3、验证分配成功与否:——打印办公室详细信息——人数与名字'''import random #生成随机数#准备数据:teachers=['A','B','C','D','E','F','G','H']offices=[[],[],[.
2020-06-16 12:31:31
579
原创 地铁python_列表6(列表嵌套)
name_list=[['TOM','Lily','ROSE'],['A','B','C'],['小明','小红','小白']]print(name_list[0])print(name_list[0][1])结果:['TOM', 'Lily', 'ROSE']Lily
2020-06-16 11:51:21
114
原创 地铁python_列表5(列表的循环遍历)
#while and for#name_list=['TOM','Lily','ROSE']i=0while i< len(name_list):#条件:len 为 3 i的可范围是 0 1 2 print(name_list[i])#输出遍历结果 i+=1#依次按照顺数访问每个数据print()for j in name_list: print(j)结果:TOMLilyROSETOMLilyROSE...
2020-06-16 11:47:10
167
原创 地铁python_列表4(复制)
#copy():复制:作用于数据的备份name_list=['TOM','Lily','ROSE']name_li2=name_list.copy()print(name_li2)结果:['TOM', 'Lily', 'ROSE']
2020-06-15 12:57:03
138
原创 地铁python——列表3(修改)
#1、修改指定下标的数据name_list=['TOM','Lily','ROSE']name_list[0]='haha'print(name_list)#2、逆序:reverse()list1=[1,3,2,4,5,7,6,8]list1.reverse()print(list1)#3、sort() 排序:升序和降序 #列表序列.sort(key=none.rexerse=False(默认)//reverse=true/false:降序/升序)list1.sort()prin.
2020-06-15 12:48:32
156
原创 地铁python——列表2(增加+删除)
#增加:增加指定数据到列表#1 append():列表的结尾加数据【列表是可变类型】 #语法:列表序列.append(数据) #例子name_list=['TOM','Lily','ROSE']name_list.append('xiaoyu')print(name_list)#append 函数追加数据的时候是一个序列,追加整个序列列表到结尾:name_list.append([11,12])print(name_list)#2 extend():列表的结尾加数据,如果数据是一个序列.
2020-06-15 10:46:14
178
原创 地铁python——列表1
#1、应用场景 2、格式 3、常用操作 :增删改查4、循环遍历 5、嵌套使用#1应用场景:[数据1,数据2,数据3,数据4]#2.1 查找#下标name_list=['tom','lily','rose']print(name_list[1])#2函数#index():返回指定数据所在位置的下标/不存在就报错#列表序列.index(数据,开始位置下标,结束位置下标)print(name_list.index('lily',0,2))print(name_list.count('tom.
2020-06-12 17:45:26
167
原创 地铁python——字符串(查找,修改,合并)
#查找 修改 和判断三大类#1、先熟悉单词的意思 2、单词的作用 3、参数的写法 #查找:查找子串在字符串中的位置或者出现的次数#.find() : 检测某个子串是否包含在这个字符串中,如果在返回这个字符串的下标 ,否则返回-1 #find('字符串',开始位置,结束位置) 不写开始位置和结束位置默认为0 和最终#.index() : 检测某个子串是否包含在这个字符串中,如果在返回这个字符串的下标 ,否则报告异常#.count() : 记录字符串出现的次数mystr="hello .
2020-06-10 17:12:36
193
原创 地铁python字符串——下标与切片
#下标:有名索引 编号#使用字符串中某个特定的数据:从0开始每个数据打下标#切片:名称【开始位置:结束位置:步长】#切片注意:不包含结束位置的数据,正负值均可#步长是选取间隔,正负值均可,默认值步长为1str1='abcdefg'print(str1[0])#从零开始!!print(str1[2:5:1])print(str1[2:5])print(str1[:5])print(str1[2:])print(str1[:])print()print(str1[::-1])#倒叙.
2020-06-10 15:33:51
141
原创 地铁python——字符串1
"""1、认识字符串2、下标3、切片4、常用的操作方法5、字符串是python中最常用的数据类型,一般用引号来创建字符串"""c='i \'m tom' #\用法print(c)#输出name='rose'print('我的名字是%s' % name)print(f'我的名字是{name}')#输入password=input('请输入您的密码')i 'm tom我的名字是rose我的名字是rose请输入您的密码12...
2020-06-10 14:29:20
108
原创 地铁python——for循环
#1语法 for 临时变量 in 序列(数据序列) #重复执行的代码str1='it manba'for i in str1: print(i)print()#continuestr1='it manba'for i in str1: if i=='a': print('遇到a不打印') continue print(i)print()#breakstr1='it manba'for i in str1: if.
2020-06-10 13:59:48
261
原创 地铁python——9X9乘法表
#1、正方形j=0while j<5: i=0 # 一行¥开始 while i<5: print('$',end='')#end=‘’符号:表示取消换行 i+=1 #一行¥结束 print()#用他的换行符 j+=1$$$$$$$$$$$$$$$$$$$$$$$$$
2020-06-10 13:45:13
138
原创 地铁python循环语句(while for)
一、目标:1、了解循环 2、while 语法 3、while 应用 4、break and continue 5、while循环嵌套 6、循环嵌套应用 7、for 循环 循环目的:让代码更加高效的重执行二、具体语句 1)while 条件:(注意:计数器必须有限制条件) 条件成立时候执行代码1 。。。#计算1...
2020-06-08 15:54:36
203
原创 地铁python三目运算符
#有两个变量,比较大小,如果变量1>变量2 执行变量1-变量2 否则变量2-变量1aa=10bb=6cc=aa-bb if aa>bb else bb-aaprint(cc)
2020-06-08 12:41:52
87
原创 猜拳游戏(模块调用+条件语句)
import randomplayer=int(input('请出拳:0--石头;1--剪刀;2--布'))computer=random.randint(0,2)if((player==0) and (computer==1) or ((player==1) and(computer==2)) or ((player==2) and (computer==0))): print('玩家获胜。哈哈哈哈')elif player == computer: print('平局')el.
2020-06-05 16:55:39
137
原创 python数字随机模块
#1模块使用#import random#使用模块中的功能#random randint(开始数字,结束数字)(包含)import randomnum=random.randint(0,2)print(num)
2020-06-05 16:50:17
126
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人