![](https://img-blog.csdnimg.cn/20190918140145169.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Python
Python
Kinght_123
大家好,我是Kinght_123,欢迎大家关注!
展开
-
Python的zip()函数和zip(*)函数详解。
zip()函数创建一个聚合了来自每个可迭代对象中的迭代器。zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。返回一个元组的迭代器,其中的第i个元素来自于可迭代元素的第i个元素。例子:# zip函数a = [1, 3, 5, 7, 9]b = [2, 4, 6, 8, 10]print(zip(a, b))print(list(zip(a, b)))输出:<zip object at 0x12844128>[(1原创 2021-12-13 11:39:46 · 1704 阅读 · 0 评论 -
想要学好Python函数,对于装饰器的概念必不可少。(建议新手小白收藏!)
装饰器(修饰器)在Python中是一个非常重要的内容,它可以让其他函数在不需要做任何代码改动的前提下增加额外的功能,相当于一个语法糖。对于新手来说,可能会觉得这个概念难以理解或没什么用,但是在后面的学习中,你多多少少会用到它的。1.什么是装饰器装饰器又叫修饰器,本身是一个函数,是在原有的函数或者方法上添加一些额外的功能。2.装饰器的作用简单来说,装饰器的作用就是为了给已经存在的对象添加额外的功能。比如有一个函数是登录的功能,但是用户在执行这个函数的时候需要输入用户名和密码,我们登录的这个函数已经写原创 2021-10-20 06:59:13 · 187 阅读 · 0 评论 -
Python中关于集合间的基本运算及其增删改查操作!(新手必会!!)
目录一、什么是集合?二、创建一个集合1.set()三、集合的添加操作2.直接创建三、集合的删除操作1.remove()2.discard()3.pop()3.clear()四、集合的并集五、集合的交集六、集合的差集七、集合的并集减去集合的交集一、什么是集合?列表(list)和元组(tuple)是标准的 Python 数据类型,它们将值存储在一个序列中。集合(set)是另一种标准的 Python 数据类型,它也可用于存储值。它们之间主要的区别在于,集合不同于列表或元组,集合中的每一个元素不能出现多次,并且原创 2021-08-11 18:30:38 · 709 阅读 · 0 评论 -
Python的大小写字母转换!!
lower()函数和upper()函数,这两个函数一个负责小写字母的转换,一个负责大写字母的转换。str1 = 'Hello,word!'print(str1.lower())print(str1.upper())hello,word!HELLO,WORD!原创 2021-06-20 21:57:28 · 2392 阅读 · 0 评论 -
Python中异或运算的性质!!
异或运算具有以下性质:异或运算满足交换律和结合律;任意整数和自身做异或运算的结果都等于0,即 x⊕x=0;任意整数和0做异或运算的结果都等于其自身,即x⊕0=0⊕x=x。原创 2021-05-06 08:54:26 · 592 阅读 · 0 评论 -
Python PEP8编码规范!!!
目录代码编排文档编排注释命名规范代码编排缩进。一般都是以4个空格为缩进。而不是tab进行缩进。每行的代码最大长度为79,换行可以使用\。类和函数的定义之间需要空两行,类中定义的方法之间需要空一行。不要将多条语句也在同一行,尽管使用‘;’是可以的。文档编排默认为utf-8编码。在导入库的下面要空两行,再写正式的代码。不要在import中导入多个库。注释要写函数与类的注释,并且写注释的时候要在#后空一格在写注释。命名规范命名时,一般使用驼峰式的单词+下划线,保证命名的可读性原创 2021-04-15 17:29:58 · 205 阅读 · 0 评论 -
用Python的队列制作一个传土豆杀人的小游戏!(算法小游戏!!!)
游戏规则有一个函数,传入的参数是名字的列表,函数中的(传递多少次杀人是随机的),只需要看谁的运气好,就可以活到最后!!Codedef hotPhoto(namelist): n = len(namelist) num = randint(1, n) simqueue = Queue() for name in namelist: simqueue.enqueue(name) while simqueue.size() > 1:原创 2021-03-16 18:52:39 · 730 阅读 · 1 评论 -
用Python的栈来进行将十进制数转换成任意进制数。!!!
Codefrom pythonds.basic import Stackdef baseConverter(decNumber, base): digits = '0123456789ABCDEF' remstack = Stack() while decNumber > 0: rem = decNumber % base remstack.push(rem) decNumber = decNumber // base原创 2021-03-16 17:23:34 · 384 阅读 · 0 评论 -
Python之进制的基本转换操作!(仅限于15进制以内的转换)
模板a,b = int(input('请输入十进制的数字:')),int(input('请输入要转换的进制:'))s = []while a != 0: # 基本数制转换方法 sum = a % b s.append(sum) a = a // b_s = s[::-1]print(''.join('%d' %i for i in _s))运行结果...原创 2021-02-20 11:35:01 · 308 阅读 · 0 评论 -
用Python的pickle模块写一个简单的登录界面(适合新手练习!!)————Python复习
需求注册功能——用户可以注册自己的账号密码,但是注册的账号不能重复。登录功能——用户可以登录,之前注册过的账号密码也可以登录。销毁功能——用户可以销毁之前注册过的所有数据。退出功能——用户可以选择退出界面。Code#pickle模块import pickleimport osfile_path = 'D:\python_pycharm\info.pkl'def new_(): a = input('请设置你的账号:') b = input('请设置入你的密码:')原创 2021-01-01 23:15:53 · 543 阅读 · 3 评论 -
关于Python模块json的ensure_ascii的解释。
在使用json.dumps时要注意一个问题。import jsonprint(json.dumps('中国'))"\u4e2d\u56fd"输出的会是‘中国’ 中的ascii 字符码,而不是真正的中文。这是因为json.dumps 序列化时对中文默认使用的ascii编码.想输出真正的中文需要指定ensure_ascii=False:import jsonprint(json.dumps('中国',ensure_ascii=False))"中国"...原创 2020-12-31 23:45:37 · 5013 阅读 · 0 评论 -
Python中heapq堆的一些基本操作!!——————Python内置模块heapq(无需安装)
heapq堆堆是非线性的树形的数据结构,有两种堆,最大堆与最小堆。( heapq库中的堆默认是最小堆)最大堆,二叉树中各个父节点的值总是大于或等于任何一个子节点的值。最小堆,二叉树中各个父节点的值总是小于或等于任何一个子节点的值。我们一般使用二叉堆来实现优先级队列,它的内部调整算法复杂度为logN。堆是一个二叉树,其中最小堆每个父节点的值都小于或等于其所有子节点的值。整个最小堆的最小元素总是位于二叉树的根节点。python的heapq模块提供了对堆的支持。 heap原创 2020-12-30 18:52:58 · 785 阅读 · 2 评论 -
PythonCahrm的基本使用的技巧(实用性很强!!!)
Pycharm基本使用秘籍1. Pycharm的基本使用 1. 在Pycharm下为你的Python项目配置Python解释器 1. Project:当前项目名>Project Interpreter>add Local 2. 在Pycharm下创建Python文件、Python模块 1. File>New>Python File 2. File>New>Python Package 3. 使用Pycharm安装Python第三方模块 1. Pro原创 2020-12-23 10:55:36 · 248 阅读 · 0 评论 -
Python笔记之hashlib加密!!!
文章目录1.加密算法的介绍1.1Hash1.2MD5算法1.2.1什么是MD5算法?1.2.2MD5功能1.2.3MD5算法的特点1.2.4MD5算法是否可逆?1.2.5MD5用途1.3SHA-12.MD5与SHA-1的比较3.Python中关于算法的一些例子。1.加密算法的介绍关于加密算法的小故事:在我们上网的时候会注册账号,密码等一些保密的东西,那么这些东西是如何不被泄露出去的呢?这就要想到加密算法了,我们输入的这些数据都是通过加密算法来保护的,那么可能会有人说,既然可以加密,那就可以解密,那如果原创 2020-12-11 15:50:17 · 331 阅读 · 0 评论 -
(学数据的存储小白必备!!!)Python笔记之pickle、json模块!
文章目录1.pickle模块2.json模块3.pickle和json的区别1.pickle模块pickle,用于python特有的类型 和 python的数据类型间进行转换。pickle模块提供了四个功能:dumps、dump、loads、load。#pickle模块import picklea = input('请你输入你的账号:')b = input('请你输入你的密码:')d = { 'user':a, 'password':b}with open('info.p原创 2020-12-09 16:57:05 · 214 阅读 · 0 评论 -
Python笔记之time、datetime模块!!!
#time,datetime模块import time,datetime#时间戳————————从1970年1月1日00:00:00开始按秒计算的偏移量print(time.time()) #----计算时间戳#UTC时间————————格林威治天文时间(0时区)print(time.localtime())print(time.gmtime())a1 = time.gmtime()print(time.mktime(a1))# time.sleep(3) #让时间停止10秒钟原创 2020-12-08 10:37:48 · 126 阅读 · 0 评论 -
Python笔记之random模块!
#random模块import randomimport stringprint(random.randint(10,100)) print(random.randrange(10,100,5)) #数字5是步长print(random.random()) #返回随机浮点数print(random.choice('asdasdafafaf')) #返回字符串的随机一个print(random.sample(range(1,31),5)) #从多个对象中随机返回指定个对象p原创 2020-12-08 10:36:05 · 207 阅读 · 0 评论 -
Python笔记之面向对象的一些常用方法!!
1.类方法类方法通过@classmethod装饰器实现,类方法和普通方法的区别是, 类方法只能访问类变量,不能访问实例变量。例1:class Dog(object): name = "我是类变量" def __init__(self, name): self.name = name @classmethod def eat(self): print("%s is eating" % self.name)d = Dog("Mjj")原创 2020-12-05 09:27:37 · 476 阅读 · 8 评论 -
Python笔记之os模块!!
os 模块提供了很多允许你的程序与操作系统直接交互的功能得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()返回指定目录下的所有文件和目录名:os.listdir()函数用来删除一个文件:os.remove()删除多个目录:os.removedirs(r“C:\Users\Dell\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Python 3.8”)检验给出的路径是否是一个文件:os.p原创 2020-12-04 09:06:19 · 273 阅读 · 0 评论 -
Python实验之24:自定义类实现带超时功能的队列结构。
目录适用专业实验目的实验内容Code适用专业适用于计算机、网络工程、通信工程、软件工程等相关专业,其他专业选做。实验目的了解标准库time中time()函数的用法。了解如何定义一个类。理解队列结构的特点。理解入队和出队时超时功能的实现。实验内容编写程序,实现自定义类,模拟队列结构。要求实现入队、出队以及修改队列大小和判断队列是否为空、是否为满的功能,同时要求在入队时如果队列已满则等待指定时间、出队时如果队列已空则等待指定时间等辅助功能。Codeimport timeclass m原创 2020-12-04 08:44:37 · 2127 阅读 · 0 评论 -
Python笔记之正则表达式(非常详细!!!!)
1.什么是正则表达式正则表达式是一组由字母和符号组成的特殊文本,它可以用来从文本中找出满足你想要的格式的句子。一个正则表达式是一种从左到右匹配主体字符串的模式。 “Regular expression”这个词比较拗口,我们常使用缩写的术语“regex”或“regexp”。 正则表达式可以从一个基础字符串中根据一定的匹配模式替换文本中的字符串、验证表单、提取字符串等等。想象你正在写一个应用,然后你想设定一个用户命名的规则,让用户名包含字符、数字、下划线和连字符,以及限制字符的个数,好让名字看起来没那么原创 2020-12-02 21:37:42 · 541 阅读 · 14 评论 -
Python实验26:计算文件MD5值
适用专业适用于计算机、网络工程、信息安全等相关专业、其他专业选做实验目的熟练掌握内置函数open()。熟练掌握以二进制模式读取文件内容的方法。了解Python标准库hashlib中的md5()函数用法。了解标准库os.path中常用函数的用法。实验内容MD5是一种常见的哈希算法,不论原始信息长度如何,总是计算得到一个固定长度的二进制串。该算法对原文的改动非常敏感,也就是说,原文哪怕只做非常微小的改动,重新计算得到的MD5会有巨大的变化。因此,该算法常用于检验信息在发布后是否发生过修改,原创 2020-12-01 11:26:28 · 1422 阅读 · 4 评论 -
Python学习笔记:rstrip、lstrip、strip的用法!
一、rstrip的用法# rstrip是删除字符串末尾的字符,不写的话是空格str = ' hello, world! 'print(str.rstrip())str2 = '000000000 hello, world! 000000000000'print(str2.rstrip('0'))运行结果:二、lstrip的用法# lstrip是删除字符串前端的字符,不写的话是空格str = ' hello, world! 'print(原创 2020-12-01 11:01:43 · 1196 阅读 · 0 评论 -
Python实验25:读写文件并添加行号!!!
适用专业适用于所有专业实验目的熟练掌握内置函数open()的用法熟练运用内置函数len()、max()、enumerate()。熟练运用字符串的strip()、ljust()和其他方法。熟练运用列表推导式。实验内容编写一个程序demo.py,要求运行该程序后,生成demo_.new.py文件,其中内容与demo.py一样,只是在每一行的后面加上行号。要求行号以#开始,并且所有行的#垂直对齐。Code#Python实验25filename = 'demo.py'with open(原创 2020-12-01 10:42:32 · 4751 阅读 · 1 评论 -
Python练习题:用递归实现2分查找的算法,以从列表查找指定的值!!!
用递归实现2分查找的算法,以从列表 a = [1,3,4,6,7,8,9,11,15,17,19,21,22,25,29,33,38,69,107] 查找指定的值。a = [1, 3, 4, 6, 7, 8, 9, 11, 15, 17, 19, 21, 22, 25, 29, 33, 38, 69, 107]def rec(num,list): num=int(num) n = len(list) if n > 1 : n = int(n / 2)原创 2020-11-29 18:36:57 · 532 阅读 · 0 评论 -
Python笔记之Bytes类型!!!!
目录一、定义二、Bytes类型的作用三、以二进制模式操作文件一、定义bytes类型是指一堆字节的集合,在python中以b开头的字符串都是bytes类型b'\xe5\xb0\x8f\xe7\x8c\xbf\xe5\x9c\x88' #b开头的都代表是bytes类型,是以16进制来显示的,2个16进制代表一个字节。 utf-8是3个字节代表一个中文,所以以上正好是9个字节二、Bytes类型的作用计算机只能存储2进制, 我们的字符、图片、视频、音乐等想存到硬盘上,也必须以正确的方式编码成2进制后再原创 2020-11-27 08:30:39 · 770 阅读 · 0 评论 -
Python笔记之函数的参数!!!
1.必需参数2.关键字参数3.默认参数4.可变参数原创 2020-11-24 18:36:36 · 213 阅读 · 0 评论 -
Python笔记之time、datetime、calendar模块的使用!!!!
Code:import datetime #导入时间的模块import timeimport calendarprint('当前的时间截为:',time.time())print('是否为闰年:',calendar.isleap(2020))print('现在的时间为:',datetime.datetime.now())运行结果:其他用法:...原创 2020-11-24 10:57:29 · 247 阅读 · 0 评论 -
Python课程之实验15:无界面版猜数游戏设计与实现。
目录一、适用专业二、实验目的三、实验内容四、Code一、适用专业适用于所有专业二、实验目的1.熟练运用选择结构与循环结构解决实际问题2.注意选择结构嵌套时代码的缩进与对齐3.理解带有else子句的循环结构执行过程4.理解条件表达式valuel if condition else value25.理解使用异常处理结构约束用法输入的用法6.理解带else子句的异常处理结构的执行流程7.熟练掌握使用break语句提前跳出循环结构的用法三、实验内容编写程序模拟猜数游戏。程序运行时,系统在指定原创 2020-11-20 08:46:49 · 2125 阅读 · 1 评论 -
Python笔记:实验9、计算小明爬楼梯的爬法数量!!!!
文章目录一、适用专业二、实验目的1.理解并熟练使用序列解包2.理解递归函数的工作原理3.能够编写递归函数代码解决实际问题4.理解Python字典的用法5.养成检查和测试循环结构边界条件的习惯6.养成时刻注意各级代码缩进级别的习惯三、实验内容四、Code一、适用专业适用于所有专业。二、实验目的1.理解并熟练使用序列解包2.理解递归函数的工作原理3.能够编写递归函数代码解决实际问题4.理解Python字典的用法5.养成检查和测试循环结构边界条件的习惯6.养成时刻注意各级代码缩进级别的习惯三、原创 2020-11-17 10:51:32 · 5886 阅读 · 0 评论 -
用PythonCharm编写一个教务系统。(真的难!!!!!)
前言:我们Matrix工作室最近留了一个大作业,竟然是做一个教务系统出来,刚听到时我都蒙了,但是经过自己的学习别学长的帮助,大致可以写出来一个教务系统出来。????系统要求:一、要求分析(一)角色1.用户(学员、讲师、管理员)需求功能学员ID、用户名、密码注册登录、选择校区、选择课程、查看分数讲师ID、用户名、密码、课程列表注册登录、查看课程、选择课程、查看学生、修改学生分数管理员ID、用户名、密码、课程列表、校区、分数注册登录、创建学校(先选择原创 2020-11-16 20:24:51 · 1474 阅读 · 5 评论 -
(新手小白必学!)用Python设计和实现聪明的尼姆游戏(人机对战)!!!!
题目:尼姆游戏是个著名的游戏,有很多变种玩法。两个玩家轮流从一堆物品中拿走一部分。在每一步中,玩家可以自由选择拿走多少物品,但是必须至少拿走一个并且最多只能拿走一半物品,然后轮到下一个玩家。拿走最后一个物品的玩家输掉游戏。在聪明模式中,计算机每次拿走一定数量的物品使得堆的大小是2的幂次方减1————也就是3、7、15、31、63等。如果有一定数量的剩余物品,计算机就随机拿走一些。编写程序,模拟聪明版本的尼姆游戏。Code:from math import log2原创 2020-11-14 11:02:12 · 2285 阅读 · 0 评论 -
Python学习笔记:使用filter()函数来统计列表中的所有非素数。
题目:首先,使用列表推导式和标准库random生成一个包含50个介于1~100的随机整数的列表,然后编写函数def isPrime(n)用来测试整数n是否为素数,接下来使用内置函数filter()把函数isPrime()作用到包含若干个随机整数的列表lst上,最后程序输出一个列表,其中只包含列表lst中不是素数的那些整数。Code:from random import randintdef isPrime(n): if n in (2,3): return True原创 2020-11-10 10:37:13 · 2971 阅读 · 6 评论 -
Python笔记:集合的discard()函数!
discard()函数:简单点来说,就是用来删除字典中的元素的。注意:该方法不同于 remove( ) 方法,因为 remove( ) 方法在移除一个不存在的元素时会发生错误,而 discard( ) 方法不会。例子:原创 2020-11-10 10:29:44 · 1843 阅读 · 0 评论 -
Python笔记:使用集合实现筛选法求素数!!
题目:输入一个大于2的自然数,输出小于该数字的所有素数组成的集合。Code:maxNumber = int(input('请输入一个大于2的自然数:'))numbers = set(range(2,maxNumber))#最大数的平方根,以及小于该数字的所有素数m = int(maxNumber**0.5)+1primesLessThanM = [p for p in range(2,m) if 0 not in [p%d原创 2020-11-10 10:27:51 · 3906 阅读 · 0 评论 -
Python之各种进制的转换。(常用的几种!)
一、十进制向二进制转换a = 10print(bin((a))) #bin()函数可以把十进制的数字转化为二进制输出结果:0b1010二、二进制向十进制转换v = '0b1111011'print(int(v, 2)) #int(参数,参数的进制数)输出结果:123三、十进制向八进制转换v = 10print(oct(v)) #oct()是转化八进制的函数输出结果:0o12四、八进制向十进制转换v = '011'print(int(v,8))输出结果:9五、十进制向原创 2020-11-07 19:36:09 · 2773 阅读 · 0 评论 -
Python3的set.intersectin()函数介绍!
set.intersection()函数用于返回两个或多个集合的交集。set.intersection(set_1,set_2,…,…)注:函数中的参数必须为集合!!!原创 2020-11-02 15:35:42 · 508 阅读 · 0 评论 -
Python中的pow()函数!!!
Python中pow(),里面可以有两个或三个参数,它们的意义是完全不同的。1、pow(x,y):这个是表示x的y次幂。 >>> pow(4,2) 16 >>> 2、pow(x,y,z):这个是表示x的y次幂后除以z的余数。>>> pow(3,2,5) 4>>>...原创 2020-10-31 09:53:27 · 5360 阅读 · 0 评论 -
Python中的sorted()函数!!!
我们需要对List、Dict进行排序,Python提供了两个方法:1.用List的成员函数sort进行排序,在本地进行排序,不返回副本2.用built-in函数sorted进行排序(从2.4开始),返回副本,原始输入不变举个例子:编写程序,输入一个包含若干整数的列表,输出新列表,要求新列表中的所有元素都来自于输入的列表,并且降序排列。Code:lst = eval(input('请输入包含若干个整数的列表lst:'))#将字符串列表转化为列表print(sorted(lst,reverse=T原创 2020-10-31 09:12:57 · 919 阅读 · 0 评论 -
Python中的filter()函数!!!1
定义:python中filter函数用于筛选序列,filter(func,lst)包含两个参数,第一个参数为函数,第二个参数为列表,func作用于lst中每一个元素,根据返回的结果TRUE或者FALSE来决定结果的取舍。例子:要给定一个包含若干整数的列表,要输出一个新列表,要求新列表中只包含原列表中的偶数。Code:lst = input('请输入一个包含若干整数的列表:')#输入一个列表 lst = eval(lst) #eval()将字符串列表转化为列表的形式print(list(filt原创 2020-10-31 09:07:52 · 3358 阅读 · 7 评论