自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

python学习者的博客

人生苦短,我用python

  • 博客(133)
  • 资源 (2)
  • 论坛 (1)
  • 收藏
  • 关注

转载 python 按位置关系输出矩阵元素

描述:依次输出矩阵中最近邻的元素例如:输入:[[1, 2, 3] [4, 5, 6] [7, 8, 9]]输出:[[ 1. 2. 4. 5. 3. 6. 7. 8. 9.] [ 2. 1. 3. 4. 5. 6. 7. 8. 9.] [ 3. 2. 5. 6. 1. 4. 7. 8. 9.] [ 4. 1. 2. 5. 7. 8. 3. 6. 9.] [ 5. 1. 2. 3. 4. 6. 7. 8

2020-12-31 15:58:40 91

转载 python将字符串类型改成日期类型

将字符串类型的’2019-03-14’改成date类型,如下:import datetimeb = datetime.date(*map(int,'2019-03-14'.split('-')))print(b,type(b))将datetime类型转成str'''遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!'''form datetime import datetimes

2020-12-31 15:07:03 108

转载 Python 定义动态变量

问题描述在做数据处理时,对一些分组得来的数据,所做的操作大同小异,变量的命名也都拥有相同的结构,比如对每个月份的数据求均值、方差等统计量,变量的命名可取为“n月的均值”,“n月的方差”,抽象出来就是“n月的 ‘m统计量’ ”在编程实现的时候,对上述变量的定义以及引用,都可以一同实现,从而减少了重复代码的数量实现的时候遇到了动态定义变量的问题,这里总结一下利用 exec 动态定义变量我们可以如此动态定义变量 for n in range(1, 13): exec('month_{} =

2020-12-30 16:47:25 93

转载 Python 教程: Collection 库

Collections 是 Python 内建的一个集合模块,提供了许多额外的数据类型。namedtuplenamedtuple 主要用来生成可以使用名称来访问元素的数据对象,通常用来增强代码的可读性。namedtuple 是一个函数,它用来创建一个自定义的 tuple 对象,并且规定了 tuple 元素的个数,可以用属性而不是索引来写入或者访问 tuple 的某个元素。>>> from collections import namedtuple>>> Poin

2020-12-30 16:25:00 56 1

转载 Python的几种主动结束程序方式

1. sys.exit()执行该语句会直接退出程序,这也是经常使用的方法,也不需要考虑平台等因素的影响,一般是退出Python程序的首选方法。该方法中包含一个参数status,默认为0,表示正常退出,也可以为1,表示异常退出。import syssys.exit(1)sys.exit(0)2. os._exit()效果也是直接退出,不会抛出异常,但是其使用会受到平台的限制,但我们常用的Win32平台和基于UNIX的平台不会有所影响。#Python学习交流QQ群:778463939impo

2020-12-30 16:18:01 140

转载 Python中join 和 split详解

.join()join将 容器对象 拆分并以指定的字符将列表内的元素(element)连接起来,返回字符串(注:容器对象内的元素须为字符类型)>>> a = ['no','pain','no','gain']>>> '_ '.join(a)'no_pain_no_gain'>>>dict是以Key值作连接>>> L = {'p':'P','y':'Y','t':'T','h':'H','o':'O','n':'N'}&

2020-12-30 15:51:45 49 1

转载 Python变量的三个特征

对于每个变量,python都提供了这三个方法分别获取变量的三个特征,其中python的内置功能id(),内存地址不一样,则id()后打印的结果不一样,因为每一个变量值都有其内存地址,而id是用来反映变量值在内存中的位置,内存地址不同则id不同。x = 10print(x) # 获取变量的变量值print(id(x)) # 获取变量的id,可以理解成变量在内存中的地址print(type(x)) # 获取变量的数据类型,下章会详细介绍数据类型一、打印(一)x = 10print(x)

2020-12-29 16:54:17 52

转载 Python定义函数的三种形式

一、无参函数定义函数时参数是函数体接收外部传值的一种媒介,其实就是一个变量名在函数阶段括号内没有参数,称为无参函数。需要注意的是:定义时无参,意味着调用时也无需传入参数。如果函数体代码逻辑不需要依赖外部传入的值,必须得定义成无参函数。def func(): print('hello nick') func() # hello nick二、有参函数在函数定义阶段括号内有参数,称为有参函数。需要注意的是:定义时有参,意味着调用时也必须传入参数。如果函数体代码逻辑需要依赖外部传

2020-12-29 16:50:14 118

转载 Python输入函数 raw_input( ) 与 input()

一、raw_input()在Python中,获取键盘输入的数据的方法是采用 raw_input 函数,那么这个 raw_input怎么用呢?>>> name = raw_input( )kyle>>> name'kyle'>>> stu_name = raw_input("请输入学生名字")请输入学生名字kyle>>> stu_name'kyle'>>>注意:raw_input()的小括号

2020-12-29 16:45:30 59

转载 Python面试题:如何判断字典a在字典b

前言已知一个dict 比如a = {"a":1},另一个dict比如为b = {"a":1,"b":2},如何判断a是否在与b中。一般在接口测试的时候,返回的参数比较多的情况,如果一个个字段去校验,会比较麻烦,那么如何直接拿一个期望的字典放键值对,判断结果里面是否包含期望的值set实现set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。set的issubset方法,a.issubset(b) :判断集合 a 的所有元素是否都包含在集合 b 中a

2020-12-29 16:34:27 69

转载 Python教程:unique()与nunique()函数

1 unique()统计list中的不同值时,返回的是array.它有三个参数,可分别统计不同的量,返回的都是array.当list中的元素也是list时,尽量不要用这种方法.import numpy as npa = [1,5,4,2,3,3,5]# 返回一个arrayprint(np.unique(a))# [1 2 3 4 5] # 返回该元素在list中第一次出现的索引print(np.unique(a,return_index=True))# (array([1, 2, 3,

2020-12-29 15:56:39 88

转载 Python集合类型的操作与应用

一、Python集合类型Python中的集合类型是一个包含0个或多个数据项的无序的、不重复的数据组合,其中,元素类型只能是固定数据类型,如整数、浮点数、字符串、元组等,相反,如列表、字典和集合类型本身都是可变数据类型,因此不能作为集合元素使用。1.无序性集合是无序组合,没有索引和位置的概念,不能分片,集合中的元素可以动态增加或删除。集合用大括号“{}”表示。s={1,2,3,'a','b',(5,'c')}print(s)--------------------------{1,2,3,'b

2020-12-27 20:35:25 79

转载 Python脚本的常见参数获取和处理方式

平常写 python 脚本时会有一些从命令行获取参数的需求,这篇文章记录下常见的参数获取和处理方式。1.使用 args 获取参数使用 sys.argv[] 可以接收脚本的参数,得到一个列表类型,列表第一个元素是脚本名称,通过 sys.argv[1:] 得到命令行传进来的所有参数。代码示例:test_args.pyimport sysargv = sys.argv[1:]print("args==argv==", argv)代码执行效果:2.使用 getopt 处理命令行传入的参数g

2020-12-27 16:48:30 82

转载 Python 调用 JS 常用的4种方式,带你学会如何解密

1. 前言日常 Web 端爬虫过程中,经常会遇到参数被加密的场景,因此,我们需要分析网页源代码通过调式,一层层剥离出关键的 JS 代码,使用 Python 去执行这段代码,得出参数加密前后的 Python 实现本文将聊聊利用 Python 调用 JS 的4种方式2. 准备以一段简单的 JS 脚本为例,将代码写入到文件中//norm.js//计算两个数的和function add(num1, num2) { return num1 + num2;}其中,定义了一个方法,计算两个数

2020-12-27 16:35:38 87

转载 Python: attrgetter()函数: 排序不支持原生比较的对象

想排序类型相同的对象,但是他们不支持原生的比较操作。内置的sorted()函数有一个关键字参数key,可传入一个callable对象给它这个callabel对象对每个传入的对象返回一个值,这个值被sorted()用来排序这些对象1.lambda 函数有一个User 实例序列,希望通过他们的user id 属性进行排序,可提供一个以User 实例作为输入并输出对应user id 值的callable 对象class User: def __init__(self, user_id):

2020-12-23 15:37:09 65

转载 Python: 大型数组运算

需要在大数据集(比如数组或网格) 上面执行计算,涉及到数组的重量级运算操作,可以使用NumPy 库。下面是一个简单的小例子,展示标准列表对象和NumPy 数组对象之间的差别>>> x = [1, 2, 3, 4]>>> y = [5, 6, 7, 8]>>> x * 2[1, 2, 3, 4, 1, 2, 3, 4]>>> x + 10Traceback (most recent call last):File "&lt

2020-12-22 14:59:25 84

转载 python 手动遍历迭代器

想遍历一个可迭代对象中的所有元素,但是却不想使用for 循环为了手动的遍历可迭代对象,使用next() 函数并在代码中捕获StopIteration 异常。比如,下面的例子手动读取一个文件中的所有行def manual_iter(): with open('/etc/passwd') as f: try: while True: line = next(f) print(line, end='

2020-12-22 14:54:23 82

转载 python 跳过可迭代对象的开始部分

想遍历一个可迭代对象,但是它开始的某些元素你并不感兴趣,想跳过它们itertools 模块中有一些函数可以完成这个任务。首先介绍的是itertools.dropwhile()函数。使用时,你给它传递一个函数对象和一个可迭代对象。它会返回一个迭代器对象,丢弃原有序列中直到函数返回True 之前的所有元素,然后返回后面所有元素。为了演示,假定你在读取一个开始部分是几行注释的源文件。with open('/etc/passwd') as f:... for line in f:... print(line

2020-12-22 14:52:36 59

转载 python 同时迭代多个序列

每次分别从一个序列中取一个元素>>> xpts = [1, 5, 4, 2, 10, 7]>>> ypts = [101, 78, 37, 15, 62, 99]>>> for x, y in zip(xpts, ypts):... print(x,y)...1 1015 784 372 1510 627 99>>>zip(a, b) 会生成一个可返回元组(x, y) 的迭代器,其中x 来自a,y 来自b。一

2020-12-22 14:48:38 97

转载 Python zip() 处理多于两个序列的参数, 存储结对的值

zip() 可以接受多于两个的序列的参数。这时候所生成的结果元组中元素个数跟输入序列个数一样>>> a = [1, 2, 3]>>> b = [10, 11, 12]>>> c = ['x','y','z']>>> for i in zip(a, b, c):... print(i)...(1, 10, 'x')(2, 11, 'y')(3, 12, 'z')>>>zip() 会创建一个迭代器来

2020-12-22 14:46:13 108

转载 python print 使用分隔符 或行尾符

使用print() 函数输出数据,但是想改变默认的分隔符或者行尾符。>>> print('ACME', 50, 91.5)ACME 50 91.5>>> print('ACME', 50, 91.5, sep=',')ACME,50,91.5>>> print('ACME', 50, 91.5, sep=',', end='!!\n')ACME,50,91.5!!使用end 参数也可以在输出中禁止换行'''遇到问题没人解答?小编创建了

2020-12-22 14:44:37 78

转载 Python将多维列表转字典

今天面试某公司时遇到的一个题目想想其实很简单的,但是操作起来还是有点难度滴,回来验证了一下自己的代码,没问题table = [ ['Month', 'Day', 'ItemName', 'NumberofItems', 'Price', 'RetailPrice', 'Tax', 'Code', 'SupplierName'], ['01', '01', 'Corporate Creditcard Usage', '', '', '10,364', '1,

2020-12-21 16:25:27 79

转载 python函数参数改不改变的问题

前几天在做项目的过程中发现了一个问题,向函数中传入一个list,在函数体内将其赋值给list,对list1操作后发现list也发生了变化,啊 ! 出乎意料。查了一下原因,原来python里有可变对象和不可变对象之分。只有传入的是不可变对象时,值才不发生改变,若是可变对象,充当函数参数时要注意了。不可变对象:Number ,String , Tuple,bool可变对象: List , Set , Dictionary是可以改变内部的元素下面总结一下:先看例子:def changestr (st

2020-12-21 15:54:22 108

转载 Python 中如何快速复制序列

1 基本用法把序列乘以一个整数,就会产生一个新序列。这个新序列是原始序列复制了整数份,然后再拼接起来的结果。l=[1,2,3]l2=l * 3logging.info('l2 -> %s',l2)l3=5 * 'deniro'logging.info('l3 -> %s',l3)运行结果:INFO - l2 -> [1, 2, 3, 1, 2, 3, 1, 2, 3]INFO - l3 -> denirodenirodenirodenirodeniro*复制语

2020-12-21 14:52:28 66

转载 五种Python 转义表示法

1. 为什么要有转义?ASCII 表中一共有 128 个字符。这里面有我们非常熟悉的字母、数字、标点符号,这些都可以从我们的键盘中输出。除此之外,还有一些非常特殊的字符,这些字符,我通常很难用键盘上的找到,比如制表符、响铃这种。为了能将那些特殊字符都能写入到字符串变量中,就规定了一个用于转义的字符 \ ,有了这个字符,你在字符串中看的字符,print 出来后就不一定你原来看到的了。举个例子>>> msg = "hello\013world\013hello\013python"&

2020-12-21 14:45:42 70

转载 在python中元组与列表的区别及序列解包

一、 元组与列表的区别元组中的数据一旦定义就不允许更改。元组没有append()、extend()和insert()等方法,无法向元组中添加元素。元组没有remove()或pop()方法,也无法对元组元素进行del操作,不能从元组中删除元素。从效果上看,tuple()冻结列表,而list()融化元组。元组的速度比列表更快。如果定义了一系列常量值,而所需做的仅是对它进行遍历,那么一般使用元组而不用列表。元组对不需要改变的数据进行“写保护”将使得代码更加安全。元组可用作字典键(特别是包含字符串、

2020-12-21 14:20:28 63

转载 Python常用配置文件ini、json、yaml读写总结

开发项目时,为了维护一些经常需要变更的数据,比如数据库的连接信息、请求的url、测试数据等,需要将这些数据写入配置文件,将数据和代码分离,只需要修改配置文件的参数,就可以快速完成环境的切换或者测试数据的更新,常用的配置文件格式有ini、json、yaml等,下面简单给大家介绍下,Python如何读写这几种格式的文件。ini格式ini 即 Initialize ,是Windows中常用的配置文件格式,结构比较简单,主要由节(Section)、键(key)和值(value)组成。每个独立部分称之为secti

2020-12-19 16:00:48 119 1

转载 Python循环语句代码详解:while、for、break

1 while循环循环语句是程序设计中常用的语句之一。任何编程语言都有while循环,Python也不例外。while循环的格式如下所示。 while(表达式): … else: … while循环的执行过程:当循环表达式为真时,依次执行while中的语句。直到循环表达式的值为False,程序的流程转到else语句。其中else子句可以省略,表达式两侧的括号也可以省略。注意:while循环中的else子句也属于循环的一部分,最后一次循环结束后将执行else子句。下面这

2020-12-19 15:40:30 74 1

转载 python运算符的三种用法

Python 版本发展非常快,如今最新的版本已经是 Pyhton 3.9,即便如此,有很多人甚至还停留在 3.6 或者 3.7,连 3.8 还没用上。很多 Python 3.8 的特性还没来得及了解,就已经成为旧知识了,比如今天要说的海象运算符。海象运算符是在 PEP 572 被提出的,直到 3.8 版本合入发布。它的英文原名叫 Assignment Expressions,翻译过来也就是 赋值表达式,不过现在大家更普遍地称之为海象运算符,就是因为它长得真的太像海象了。1. 第一个用法:if/els

2020-12-19 15:18:14 81 1

转载 Python 导包八种方法

1. 直接 import人尽皆知的方法,直接导入即可>>> import os>>> os.getcwd()'/home/wangbm'与此类似的还有,不再细讲import ...import ... as ...from ... import ...from ... import ... as ...一般情况下,使用 import 语句导入模块已经够用的。但是在一些特殊场景中,可能还需要其他的导入方式。下面我会一一地给你介绍。2. 使用_i

2020-12-19 15:12:28 297 1

转载 Python中常用的两个高阶函数

一、filter(function, iterable) - 过滤(“海选”)# 判断落在第一象限的点[(x1, y1), (x2, y2)...]points = [(-1, 2), (2, 3), (-1, -2), (2, -2), (1, 2)]方法一:# 验证函数:若在第一象限,则返回Truedef func(p): return (p[0] > 0) and (p[1] > 0)# 返回所有第一象限的点sel_points = filter(func, poi

2020-12-19 14:58:36 59 1

转载 Python 中的运算符重载

一种运算符对于不同类型的对象,有不同的使用方式。例如,+用于整型对象,表示两个数相加;用于字符串,表示连接这两个字符串。x, y = 10, 20print(x + y) # 30a,b = 'John', 'Wick'print(a + b) # John Wick+运算符因操作对象的类型的不同而执行不同的操作,这种特性称为重载。运算符的功能因其操作数据的类型而异,我们称之为重载。+运算符可以用于任意两个对象的相加吗?我们来试试看。class Vector: def __ini

2020-12-19 14:50:12 67 1

转载 Python中的单例模式的几种实现方式的及优化

单例模式单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个 AppConfig 的类来读取配置文件的信息。如果在程序运行期间,有很多地方都需要使用配置文件的内容,也就是说,很多地方都需要创建 AppConfig 对象的实例,这就导致系统中存在多个 AppConfig 的实例对象,而这样会严重浪费内存资源,

2020-12-19 14:30:19 71 1

转载 Python的hasattr() getattr() setattr() 函数使用方法

hasattr(object, name)判断一个对象里面是否有name属性或者name方法,返回BOOL值,有name特性返回True, 否则返回False。需要注意的是name要用括号括起来>>> class test():... name="xiaohua"... def run(self):... return "HelloWord"...>>> t=test()>>> hasattr(t

2020-12-18 14:30:51 43

转载 Python 使用 argparse 开发命令行工具/获取命令行参数/子命令实现

一、大部分 Python 程序开发人员都知道可使用 sys.argv 获取在命令行中输入的参数事实上我们可以进一步借助于另外一个 Python 内置库 argparse 来解析这些参数,并加入更多的功能。一些比较常用的第三方命令行解析工具二、这里简单介绍一下 argparse 的使用流程及在进行命令行工具开发时常用几个功能点1、依赖库导入import argparse2、创建解析对象parent_parser = argparse.ArgumentParser(usage="usage 信息"

2020-12-18 14:16:51 72

转载 python 使用进程池Pool进行并发编程

进程池Pool当需要创建的子进程数量不多时,可以直接利用multiprocessing中的Process动态成生多个进程,但如果是上百甚至上千个目标,手动的去创建进程的工作量巨大,此时就可以用到multiprocessing模块提供的Pool方法。初始化Pool时,可以指定一个最大进程数,当有新的请求提交到Pool中时,如果池还没有满,那么就会创建一个新的进程用来执行该请求;但如果池中的进程数已经达到指定的最大值,那么该请求就会等待,直到池中有进程结束,才会用之前的进程来执行新的任务,请看下面的实例:

2020-12-18 14:10:54 52

转载 Python字典、字符串及列表的相互转换

Python中几种常见数据结构的相互转换:字符串(str)、字典(dict)、列表(list)。一、字符串–列表字符串转列表1.使用内置函数 list()>>> str1 = "abcdefg">>> list1 = list(str1)>>> print(list1)['a', 'b', 'c', 'd', 'e', 'f', 'g']>>>2.使用内置函数 eval()>>> str2 = "

2020-12-18 14:07:48 112

转载 Python通用函数实现数组计算

一.数组的运算数组的运算可以进行加减乘除,同时也可以将这些算数运算符进行任意的组合已达到效果。>>> x=np.arange(5)>>> xarray([0, 1, 2, 3, 4])>>> x=5>>> x=np.arange(5)>>> x+5array([5, 6, 7, 8, 9])>>> x-5array([-5, -4, -3, -2, -1])>>&gt

2020-12-18 13:47:04 95

转载 Python当中的len(),str(),input(),print()函数当中值得注意的点

在python当中很多时候会用到这三个函数,这也是考试当中十分常见的考点,这里做一些记录:1.len():用于测量变量当中的字符串/元组等的长度举个例子:>>> stt="great">>> len(stt)5>>> er=[1,2,3,4,5]>>> len(er)5这样就可以得到字符串和元组的长度均为5了,当然你也可以写其他的数据类型并用这个函数进行测量。2.str():用于将变量变成更容易看的形式,即全部变为

2020-12-18 13:44:39 71

转载 Python当中负数的地板除以及负数的取余(//,%)

一.负数的取余我们先来看看几个负数取余的例子:>>> -76%95在76是正数的情况下,这个结果应该是4,因为8*9=72,余数是4,而在负数的情况下是5>>> -90%86在90是正数的情况下,这个结果应该是2,余数为4,而在负数的情况下是4,我们再来看看被除数小于除数的例子:>>> -5%72在5是正数的情况下,余数应该是5.根据以上三个例子,我们应该看出点东西了,那就是在Python当中,如果取余的数不能够整除,那么负数

2020-12-18 13:42:09 91

Python制作超级玛丽源码

本代码是用Python制作超级玛丽小游戏的代码,仅供学习参考

2019-09-28

Python制作的推箱子小游戏.zip

用Python制作的推箱子游戏,内附源码,解压后就可以用,没有打包,仅供学习参考! 人生苦短,我用Python!

2020-03-31

MHyourh的留言板

发表于 2020-01-02 最后回复 2020-03-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除