![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python学习
文章平均质量分 73
金色暖阳
总结一下工作中遇到的各种问题,以及解决方法,权当纪念
展开
-
Python学习(七) 错误,调试,测试
错误处理返回值错误码来表示是否出错十分不便,因为函数本身应该返回的正常结果和错误码混在一起,造成调用者必须用大量的代码来判断是否出错:def foo(): r = some_function() if r==(-1): return (-1) # do something return rdef bar(): r = foo() if r==(-1): print('Error') else:原创 2021-04-20 16:25:38 · 442 阅读 · 0 评论 -
Python学习(六)高级编程----多重继承、定制类、元类
使用__Slots__正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性。先定义class:class Student(object):pass然后,尝试给实例绑定一个属性:s = Student()s.name = ‘Michael’ # 动态给实例绑定一个属性print(s.name)Michael还可以尝试给实例绑定一个方法:def set_age(self, age): # 定义一个函原创 2021-04-20 15:41:59 · 120 阅读 · 0 评论 -
Python函数式编程(三)装饰器与偏函数
装饰器函数也是一个对象,而且函数对象可以被赋值给变量,所以,通过变量也能调用该函数。def now():… print(‘2015-3-25’)…f = nowf()2015-3-25函数对象有一个__name__属性,可以拿到函数的名字:now.name‘now’f.name‘now’假设要增强now()函数的功能,比如,在函数调用前后自动打印日志,但又不希望修改now()函数的定义,这种在代码运行期间动态增加功能的方式,称之为“装原创 2021-04-15 18:46:54 · 64 阅读 · 0 评论 -
Python函数式编程(二)返回函数和匿名函数
返回函数高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回求和的函数定义def calc_sum(*args): ax = 0 for n in args: ax = ax + n return ax如果不需要立刻求和,而是在后面的代码中根据需要进行求和,可以不返回结果,而是返回求和函数def lazy_sum(*args): def sum(): ax = 0 for n in args:原创 2021-04-15 14:22:57 · 114 阅读 · 0 评论 -
Python函数式编程(一)高级函数(mr,filter,sorted)
概念:函数式编程就是一种抽象程度很高的编程范式,纯粹的函数式编程语言编写的函数没有变量,因此,任意一个函数,只要输入是确定的,输出就是确定的,这种纯函数我们称之为没有副作用。允许使用变量的程序设计语言,由于函数内部的变量状态不确定,同样的输入,可能得到不同的输出,因此,这种函数是有副作用的。函数式编程的一个特点就是,允许把函数本身作为参数传入另一个函数,还允许返回一个函数!Python对函数式编程提供部分支持。由于Python允许使用变量,因此,Python不是纯函数式编程语言。高阶函数把原创 2021-04-15 13:39:08 · 204 阅读 · 0 评论 -
Python高级特性(二)列表生成式,生成器,迭代器
列表生成表达式列表生成表达式是python内置的生成list的生成式list(range(1, 11))[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]生成[1x1, 2x2, 3x3, …, 10x10]L = []for x in range(1, 11):… L.append(x * x)…L[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]使用列表生成表达式[x * x for x in ra原创 2021-04-13 17:21:51 · 174 阅读 · 0 评论 -
Python高级特性(一) 切片和迭代
切片1.取list或tuple前n个元素L = [‘qwe’,‘asd’,‘asd’]L[‘qwe’, ‘asd’, ‘asd’]//方法1[L[0],L[1]][‘qwe’, ‘asd’]//方法2r = []n = 2for i in range(2):… r.append(L[i])…r[‘qwe’, ‘asd’]方法3:使用slice运算符L[0:2][‘qwe’, ‘asd’]L[:2][‘qwe’,原创 2021-04-13 16:09:22 · 199 阅读 · 0 评论 -
Python函数____递归优化
def fact(n): if n==1: return 1 return n * fact(n - 1)===> fact(5)===> 5 * fact(4)===> 5 * (4 * fact(3))===> 5 * (4 * (3 * fact(2)))===> 5 * (4 * (3 * (2 * fact(1))))===> 5 * (4 * (3 * (2 * 1)))===> 5 * (4 * (3 *翻译 2021-04-11 19:48:18 · 180 阅读 · 0 评论 -
Python 函数
调用函数Python内置了很多有用的函数,我们可以直接调用从Python的官方网站查看文档:http://docs.python.org/3/library/functions.html#abs也可以在交互式命令行通过help(abs)查看abs函数的帮助信息abs(100)100abs(-20)20abs(12.34)12.34传入参数错误会报TypeError的错误,并且Python会明确地告诉你:abs()有且仅有1个参数,但给出了两个ab原创 2021-04-11 19:38:45 · 274 阅读 · 0 评论 -
Python基础(5) dict 和set
dict字典 键值对 {}>>> d = {'wth':1,'ts':2}>>> d[wth]Traceback (most recent call last): File "<stdin>", line 1, in <module>NameError: name 'wth' is not defined>>> d['wth']1>>> d['wt1']Traceback (most rec原创 2021-04-11 18:16:19 · 143 阅读 · 0 评论 -
Python基础(4) 条件判断和循环
ifif>>> age = 3>>> if age >= 18:... print('your age is', age)... print('adult')... else:... print('your age is', age)... print('teenager')...your age is 3teenager注意if后的:2. elifif <条件判断1>: <原创 2021-04-11 17:57:58 · 79 阅读 · 0 评论 -
Python基础(三)list和tuple
list 和tuple python内置的数据类型list 【】获取元素 【0】获取长度 len(ll);最后一个元素 下标 -1,依次 -2 -3追加 append()插入指定位置 insert(index,value)删除末尾元素 pop()删除指定位置元素pop(index)替换某个位置的元素 list【5】= “value”;里面的数据类型可以是不同的元素L = [‘Apple’, 123, True]list元素也可以是另一个list,比如:s =原创 2021-04-11 11:25:02 · 121 阅读 · 0 评论 -
Python基础(一)数据类型和变量
整数Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等。计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等等。对于很大的数,例如10000000000,很难数清楚0的个数。Python允许在数字中间以_分隔,因此,写成10_000_000_000和10000000000是完全一样的。十六进制数也可以写成0xa1b2_c3d4。原创 2021-04-02 16:39:46 · 177 阅读 · 0 评论 -
Python基础
Python基础1.输入输出输出使用print()输出输入input()综合使用2.语法Python的语法比较简单,采用缩进方式,写出来的代码就像下面的样子:# print absolute value of an integer:a = 100if a >= 0: print(a)else: print(-a)以#开头的语句是注释,注释是给人看的,可以是任意内容,解释器会忽略掉注释。其他每一行都是一个语句,当语句以冒号:结尾时,缩进的语句视为代码块。原创 2021-04-02 16:09:28 · 239 阅读 · 0 评论 -
Python初步了解
Python优点:简单易懂,基础代码库,三方库完善可用现成的使用:首选是网络应用,包括网站、后台服务等等;其次是许多日常需要的小工具,包括系统管理员需要的脚本任务等等;另外就是把其他语言开发的程序再包装起来,方便使用。缺点:第一个缺点就是运行速度慢,和C程序相比非常慢,因为Python是解释型语言,你的代码在执行时会一行一行地翻译成CPU能理解的机器码,这个翻译过程非常耗时,所以很慢。而C程序是运行前直接编译成CPU能执行的机器码,所以非常快。第二个缺点就是代码不能加密。如果要发布你的Pytho原创 2021-04-02 15:47:42 · 129 阅读 · 0 评论