自定义博客皮肤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

  • 博客(124)
  • 资源 (2)
  • 收藏
  • 关注

转载 Python:约束和异常处理

一.类的约束首先,你要清楚,约束是对类的约束,比如,现在你是一个项目经理,然后呢,你给手下的人分活,张三你处理一下普通用户登录,李四你处理一下会员登录,王五已处理一下管理员登录,那这个时候呢他们就开始分别去写他们的功能了,但是呢,你要知道程序员不一定会有那么好的默契,很有可能三个人会写三个完全不同的方法,就比如这样:class Normal: #张三,普通人登录 def login(self): passclass Member: #李四,会员

2020-10-31 16:21:16 448

转载 Python:类与类之间的关系

一.类与类之间的依赖关系大千世界, 万物之间皆有规则和规律,我们的类和对象是对大千世界中的所有事物进行归类,那事物之间存在着相对应的关系,类与类之间也同样如此,在面向对象的世界中. 类与类中存在以下关系:1. 依赖关系2. 关联关系3. 组合关系4. 聚合关系5. 继承关系6. 实现关系由于python是一门弱类型编程语言,并且所有的对象之间其实都是多态的关系,也就是说,所有的东西都可以当做对象来使用, 所以我们在写代码的时候很容易形成以上关系.首先,我们先看第一种, 也是这些关系中紧密程度

2020-10-31 16:04:54 1880 1

转载 Python 模块调用的变量与路径

自己编写的python代码经常需要分模块文件以及包,梳理一下调用顺序、执行顺序、工作路径、函数与变量等工作路径首先是工作路径,当模块代码放在统一的包内的时候,其路径和外层的包路径不同,当作为主调用时,工作路径是该模块所在的路径,而作为模块import进时,工作路径是主调用的路径这是PyTest/utils/utils.py文件,输出路径,并定义了一个输出路径函数import sys def printpath(): print('function') print(sys.p

2020-10-31 15:48:52 1565

转载 python字符串删除指定符号(不限位置)

python中去掉字符串中某些不想要的字符:1、一般的可以用replace()这个函数不限定位置,是可以替换原来不想要的字符,替换成空 字符就相当于删除了2、也可以用strip(),删除两边的字符(默认是删除左右空格)rstrip(),lstrip()这两个可以选择只删除左边或者右边3、re.sub这个可以根据正则删除,此处是删除串中的数字1-9,字符a-z,A-Z,还可以加其他的import restr="aksj2343ngr4545g黄金叶子fg"temp = re.sub('[a

2020-10-31 14:39:38 4299

转载 python生成多维数组方法总结(多维创建有问题的情况)

1、一维list1=[0]*5 #[0,0,0,0,0]list2=np.arange(5) #[0,1,2,3,4]2、二维(注意)list2=[[0]*3]*2 这种创建是有问题的!!print(list2)list2[0][0]=1print(list2)正确的方式:list3=[[0]*3 for _ in range(2)]或者list3=[[0 for j in range(3)] for _ in range(2

2020-10-31 14:28:30 1029

转载 python70道练习题

题目1 :三位数计算有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。total=0for i in range(1,5): for j in range(1,5): for k in range(1,5): if (i!=j

2020-10-31 14:21:52 12821 3

转载 python中的property属性

1. 基本认识property属性可以用来给属性添加约束,比如温度属性,我们不允许低于-273度;成绩属性,我们不允许0分以下等等。而且使用property属性,将来修改约束条件的时候也很方便,可以在代码的调用方式不变的情况下改变结果。python中使用property属性有两种方法。使用@property装饰器和使用property()函数。2. @property装饰器@property装饰器就是负责把一个方法变成属性调用的。如下实例就可以通过s.score来获得成绩,并且对score赋值之前做

2020-10-30 21:00:02 814

转载 python中assert和isinstance的用法

assert语句是一种插入调试断点到程序的一种便捷的方式。assert 3 == 3assert 1 == Trueassert (4 == 4)print('-----------')assert (3 == 4)'''抛出AssertionError异常,后面程序不执行'''print('-----------')isinstance函数说明:当我们定义一个class的时候,我们实际上就定义了一种数据类型。我们定义的数据类型和Python自带的数据类型,比如str、list、di

2020-10-30 20:57:54 1436

转载 Python实现屏幕截图的两种方式

使用windows API使用PIL中的ImageGrab模块下面对两者的特点和用法进行详细解释。一、Python调用windows API实现屏幕截图好处是灵活速度快缺点是:写法繁琐不跨平台import timeimport win32gui, win32ui, win32con, win32apidef window_capture(filename): hwnd = 0 # 窗口的编号,0号表示当前活跃窗口 # 根据窗口句柄获取窗口的设备上下文.

2020-10-30 16:48:42 15787 7

转载 Python函数的静态变量

C语言中,在函数内部可以定义static类型的变量,这个变量是属于这个函数的全局对象。在Python中也可以实现这样的机制。def f(): if not hasattr(f, 'x'): f.x = 0 print(f.x) f.x+=1f()#输出1f()#输出2类中可以有函数,类中可以有类,函数中可以有类,函数中也可以有函数。函数中的类是每次都要加载的。'''遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939寻找

2020-10-30 16:45:07 1779

转载 Python教程: 执行cmd命令

1.python操作cmd我们通常可以使用os模块的命令进行执行cmd2.方法一:os.systemos.system(执行的命令)# 源码def system(*args, **kwargs): # real signature unknown """ Execute the command in a subshell. """ pass3.方法二:os.popen(执行的命令)os.popen(执行的命令)#遇到问题没人解答?小编创建了一个Python学习交流QQ群:7

2020-10-30 15:06:18 6696

转载 python开发者常犯的10个错误

常见错误1:错误地将表达式作为函数的默认参数在Python中,我们可以为函数的某个参数设置默认值,使该参数成为可选参数。虽然这是一个很好的语言特性,但是当默认值是可变类型时,也会导致一些令人困惑的情况。我们来看看下面这个Python函数定义:>>> def foo(bar=[]): # bar是可选参数,如果没有提供bar的值,则默认为[],... bar.append("baz") # 但是稍后我们会看到这行代码会出现问题。... return b

2020-10-29 15:22:38 2776

转载 python 中为什么不需要重载

函数重载主要是为了解决两个问题。(1)可变参数类型。(2) 可变参数个数。另外,一个基本的设计原则是,仅仅当两个函数除了参数类型和参数个数不同以外,其功能是完全相同的,此时才使用函数重载,如果两个函数的功能其实不同,那么不应当使用重载,而应当使用一个名字不同的函数。好吧,那么对于情况 (1),函数功能相同,但是参数类型不同,python 如何处理?答案是根本不需要处理,因为 python 可以接受任何类型的参数,如果函数的功能相同,那么不同的参数类型在 python 中很可能是相同的代码,没有必要做

2020-10-29 14:53:47 236

转载 Python中type()详解:动态创建类

众所周知:type()函数可以查看变量的类型:先看一个简单的列子来看一下type查看变量类型class Animal(): passa=Animal()print(type(a))print(type(Animal)) <class '__main__.Animal'><class 'type'>可以发现我定义的Animal类本身的类型是 type从 Python 解释器的角度来看,当程序使用 class 定义 Animal 类时,也可理解为定义

2020-10-29 14:44:15 892

转载 Python 3 print 函数用法总结

1. 输出字符串和数字>>>print("runoob") # 输出字符串runoob>>> print(100) # 输出数字100>>> str = 'runoob'>>> print(str) # 输出变量runoob>>> L = [1,2,'a'] # 列表>>> print(L)[1, 2, 'a']&gt

2020-10-29 14:36:22 872

转载 python中列表删除和多重循环退出

在学习python的时候,会有一些梗非常不适应,在此列举列表删除和多重循环退出的例子:列表删除里面的坑比如我们有一个列表里面有很多相同的值,假如:nums=[1,6,6,3,6,2,10,2,100],我想去掉6,可以这样写: nums=[1,6,6,3,6,2,10,2,100] for n in nums: if n==6: nums.remove(n) nums.sort() print(nums)#输出结果:[1, 2, 2, 3, 6, 10, 100]

2020-10-29 14:19:22 235

转载 python常见循环练习

第一题:求5的阶乘# 方法1,递归def jc(num): if num == 1: return 1 else: return num*jc(num-1)print(jc(5))# 方法2,for遍历def func(num): sum = 1 for i in range(1,num+1): sum*=i return sumfunc(5)print(func(5))方法3,lambda表达式l

2020-10-29 14:15:37 1109

转载 Python中单下划线和双下划线

双下划线开头和结尾Python中存在一些特殊的方法,有些方法以双下划线 __ 开头和结尾,它们是Python的魔法函数,比如__init__()和__str__等等。不用要这种方式命名自己的变量或者函数。class A: def __init__(self, text): self.text = text def __str__(self): return self.texta = A("test")print(a) # 输出test

2020-10-29 14:03:12 932

转载 python中split()和split(‘ ‘)的区别

总结:split()的时候,多个空格当成一个空格;split(’ ')的时候,多个空格也要分割,会分割出来空。例1:牛客网:牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?这样的代码就可以通

2020-10-29 13:58:04 391

转载 python中的reduce函数

1.语法在python3中,内置函数中已经没有reduce了。要使用reduce,需要从functools模块里引入可以看到,reduce有三个参数,第一个是函数function,第二个是序列sequence,第三个是initial,为初始值,默认为None2.作用对序列中的元素进行累积3.返回值返回函数的计算结果4.例子'''遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!''

2020-10-28 14:59:45 4164

转载 python中if-else的多种写法

将a和b两个变量中的最大值赋值给c(1) 常规写法#Python学习交流QQ群:778463939if a>b: c = aelse: c = b(2) 表达式c = a if a>b else b(3) 二维列表c = [b,a][a>b](4) 逻辑赋值c = (a>b and [a] or [b])[0]分析:1、2为程序的基本语法不讨论3:首先a>b的取值为True或False,而在python中True的默认值为1F

2020-10-28 14:54:58 4219

转载 python限定方法参数类型、返回值类型、变量类型等

typing模块的作用自python3.5开始,PEP484为python引入了类型注解(type hints)类型检查,防止运行时出现参数和返回值类型、变量类型不符合。作为开发文档附加说明,方便使用者调用时传入和返回参数类型。该模块加入后并不会影响程序的运行,不会报正式的错误,只有提醒pycharm目前支持typing检查,参数类型错误会黄色提示常用类型int,long,float: 整型,长整形,浮点型bool,str: 布尔型,字符串类型List, Tuple, Dic

2020-10-28 14:49:47 1311

转载 Python3中列表字符串转数字

比如我们有个列表:number = ['1', '2', '3', '4'];如果我们需要将列表里的元素转换为数字呢?最常用的大家可能会想到使用列表推导式:'''遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!'''number = ['1', '2', '3', '4']number = [int(x) for x in number]print(number);输出:[1,

2020-10-28 14:40:04 1888

转载 Python动态绑定属性slots的使用

当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性。废话不多说,我们看一个例子:class Person(object): passp = Person()p.name = 'mary' # 动态给实例绑定一个属性print(p.name)上面实例绑定了一个属性name并输出值mary。那么我们如何给实例绑定一个方法呢?这样:class Person(object): passdef set_sex(sel

2020-10-28 14:38:44 227

转载 Python中使用type、metaclass动态创建方法和属性

1: type()我们知道动态语言和静态语言最大的不同,就是函数和类的定义,不是编译时定义的,而是运行时动态创建的。比方说我们要定义一个Person的class:class Person(object): def name(self, name='Kaven'): print('My name is: %s.' % name)p = Person()p.name()print(type(Person))print(type(p))输出: My name is:

2020-10-28 14:35:00 1197

转载 Python实现计算圆周率π的值到任意位的方法示例

这篇文章主要介绍了Python实现计算圆周率π的值到任意位的方法,简单分析了圆周率的计算原理,并结合实例形式分析了Python计算圆周率的相关操作技巧,需要的朋友可以参考下本文实例讲述了Python实现计算圆周率π的值到任意位的方法。分享给大家供大家参考,具体如下:一、需求分析输入想要计算到小数点后的位数,计算圆周率π的值。二、算法:马青公式π/4=4arctan1/5-arctan1/239这个公式由英国天文学教授约翰·马青于1706年发现。他利用这个公式计算到了100位的圆周率。马青公式每

2020-10-28 14:25:02 4126 5

转载 python文件和目录操作方法大全(含实例)

这篇文章主要介绍了python文件和目录的操作方法,简明总结了文件和目录操作中常用的模块、方法,并列举了一个综合实例,需要的朋友可以参考下一、python中对文件、文件夹操作时经常用到的os模块和shutil模块常用方法。1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()2.返回指定目录下的所有文件和目录名:os.listdir()3.函数用来删除一个文件:os.remove()4.删除多个目录:os.removedirs(r“c:\python”)5.检验给出

2020-10-28 14:22:10 294

转载 python模块重载的五种方法

环境准备新建一个 foo 文件夹,其下包含一个 bar.py 文件$ tree foofoo└── bar.py0 directories, 1 filebar.py 的内容非常简单,只写了个 print 语句print("successful to be imported")只要 bar.py 被导入一次,就被执行一次 print禁止重复导入‘由于有 sys.modules 的存在,当你导入一个已导入的模块时,实际上是没有效果的。’>>> from foo i

2020-10-27 16:00:54 499

转载 Python条件语句的七种写法,你知道几种?

有的人说 Python 是一门 入门容易,但是精通难的语言,这一点我非常赞同。Python 语言里有许多(而且是越来越多)的高级特性,是 Python 发烧友们非常喜欢的。在这些人的眼里,能够写出那些一般开发者看不懂的高级特性,就是高手,就是大神。但你要知道,在团队合作里,炫技是大忌。为什么这么说呢?我说下自己的看法:越简洁的代码,越清晰的逻辑,就越不容易出错;在团队合作中,你的代码不只有你在维护,降低别人的阅读/理解代码逻辑的成本是一个良好的品德简单的代码,只会用到最基本的语法糖,复杂的高级

2020-10-27 15:57:54 1718 1

转载 python列表中插入字符串使用+号

a = "sdfg"b = "ag"c = "gsrg"li = []li += a,li += b,li += c,print(li)#['sdfg', 'ag', 'gsrg']句尾没有逗号'''遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!'''a = "sdfg"b = "ag"c = "gsrg"li = []li += ali += bli +=

2020-10-27 15:50:32 1198

转载 python中类的函数中的self

Python类中的self到底是干啥的Python编写类的时候,每个函数参数第一个参数都是self,一开始我不管它到底是干嘛的,只知道必须要写上。后来对Python渐渐熟悉了一点,再回头看self的概念,似乎有点弄明白了。首先明确的是self只有在类的方法中才会有,独立的函数或方法是不必带有self的。self在定义类的方法时是必须有的,虽然在调用时不必传入相应的参数。self名称不是必须的,在python中self不是关键词,你可以定义成a或b或其它名字都可以,但是约定成俗(为了和其他编程语言统一,

2020-10-27 15:47:15 812

转载 python pickle存储、读取大数据量列表、字典数据的方法

先给大家介绍下python pickle存储、读取大数据量列表、字典的数据针对于数据量比较大的列表、字典,可以采用将其加工为数据包来调用,减小文件大小#列表 #存储 list1 = [123,'xiaopingguo',54,[90,78]] list_file = open('list1.pickle','wb') pickle.dump(list1,list_file) list_file.close() #读取 list_file = open('list1.pi

2020-10-27 15:44:47 4239

转载 从零带你认识python闭包

什么是闭包?闭包有什么用?为什么要用闭包?今天我们就带着这3个问题来一步一步认识闭包。闭包和函数紧密联系在一起,介绍闭包前有必要先介绍一些背景知识,诸如嵌套函数、变量的作用域等概念作用域作用域是程序运行时变量可被访问的范围,定义在函数内的变量是局部变量,局部变量的作用范围只能是函数内部范围内,它不能在函数外引用。定义在模块最外层的变量是全局变量,它是全局范围内可见的,当然在函数里面也可以读取到全局变量的。例如:num = 10 # 全局作用域变量def foo(): print(num

2020-10-27 15:15:50 131

转载 Python中参数是传值,还是传引用?

在 C/C++ 中,传值和传引用是函数参数传递的两种方式,在Python中参数是如何传递的?回答这个问题前,不如先来看两段代码。代码段1:def foo(arg): arg = 2 print(arg)a = 1foo(a) # 输出:2print(a) # 输出:1看了代码段1的同学可能会说参数是值传递。代码段2:def bar(args): args.append(1)b = []print(b)# 输出:[]print(id(b)) # 输出:43

2020-10-27 15:08:36 299

转载 python中那些鲜为人知的功能特性

经常逛GitHub的可能关注一个牛叉的项目,叫 What the f*ck Python!这个项目列出了几乎所有python中那些鲜为人知的功能特性,有些功能第一次遇见时,你会冒出 what the f**k 的感叹。因为这些例子看起来反人类直觉。但是如果你理解了它背后的真正原理,你又会惊叹what the f**k, 竟然还有这么骚的操作。来看看几个例子吧。微妙的字符串>>> a = "wtf">>> b = "wtf">>> a is

2020-10-27 15:02:38 140

转载 Python中正则表达式的巧妙使用

字符串的匹配查询re模块中的findall函数可以对指定的字符串进行遍历匹配,获取字符串中所有匹配的子串,并返回一个列表结果。该函数的参数含义如下:findall(pattern, string, flags=0)pattern:指定需要匹配的正则表达式。string:指定待处理的字符串。flags:指定匹配模式,常用的值可以是re.I、re.M、re.S和re.X。re.I的模式是让正则表达式对大小写不敏感;re.M的模式是让正则表达式可以多行匹配;re.S的模式指明正则符号.可以匹配任意字

2020-10-26 16:33:04 510

转载 Python的__hash__函数和__eq__函数

可哈希的集合(hashed collections),需要集合的元素实现了__eq__和__hash__,而这两个方法可以作一个形象的比喻:哈希集合就是很多个桶,但每个桶里面只能放一个球。__hash__函数的作用就是找到桶的位置,到底是几号桶。__eq__函数的作用就是当桶里面已经有一个球了,但又来了一个球,它声称它也应该装进这个桶里面(__hash__函数给它说了桶的位置),双方僵持不下,那就得用__eq__函数来判断这两个球是不是相等的(equal),如果是判断是相等的,那么后来那个球就不应该

2020-10-26 16:29:57 708

转载 Python中的字典合并

方式1x = {'a': 1, 'b': 2}y = {'c': 3, 'd': 4}z1 = {**x, **y}print(z1) # {'a': 1, 'b': 2, 'c': 3, 'd': 4}方式2x = {'a': 1, 'b': 2}y = {'c': 3, 'd': 4}def merge(x, y): z = x.copy() z.update(y) return zz2 = merge(x, y)print(z2) # {'

2020-10-26 16:26:51 198

转载 Python列表的复制

1.直接按名字赋值:my_habit = ['game', 'running']friend_habit = my_habitmy_habit.append('swimming')friend_habit.append('pingpang')print(my_habit)print(friend_habit)输出结果为:['game', 'running', 'swimming', 'pingpang']['game', 'running', 'swimming', 'pingpang'

2020-10-26 16:24:16 215 1

转载 Python中单引号,双引号,3个单引号及3个双引号的区别

一、单引号和双引号在Python中我们都知道单引号和双引号都可以用来表示一个字符串,比如str1 = 'python'str2 = "python" str1和str2是没有任何区别的。但是如果遇到需要转义字符的情况,来看单引号和双引号的版本。单引号版本:str3 = 'We all know that \'A\' and \'B\' are two capital letters.'双引号版本:str4 = "We all know that 'A' and 'B' are two c

2020-10-26 16:22:36 3749

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

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

2020-03-31

Python制作超级玛丽源码

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

2019-09-28

空空如也

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

TA关注的人

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