Python学习笔记
记录学习Python的过程
Space_walk
这个作者很懒,什么都没留下…
展开
-
Python学习笔记之偏函数
在函数那一章我们知道,定义一个函数,如果一个参数大多数时候是一个固定值,但也不排除有特殊值,那么就可以设置默认值。举个例子,int() 函数可以将字符串转换成数字,并且按十进制的结果转换。例如:# 字符串转换成数字int('12345')# 结果:12345事实上,这个int() 函数有个额外的base参数,只不过该base参数设置为了默认值10,如果修改该参数,那么该函数就可以做N进值...原创 2019-07-12 10:46:49 · 160 阅读 · 0 评论 -
Python学习笔记之装饰器
现在我们有一个函数:# 一个函数def now(): print('2019-07-11')假设我们想增加他的功能,在每次调用该函数时,都打印一下日志,但是不能更改这个函数 now() 的定义,那么就可以采用装饰器。在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator)。下面代码展示了如何定义一个装饰器:# 使用装饰器增加 now() 函数的功能。def lo...原创 2019-07-12 09:18:17 · 225 阅读 · 0 评论 -
Python学习笔记之lambda
lambda关键字表示匿名函数。当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便。举个例子,计算一个序列的平方,使用map()函数,有两种方法:# 采用具体函数的方式实现def square(x): return x * xL = [1, 2, 3, 4, 5, 6, 7, 8, 9]print(list(map(square, L)))# 采用 l...原创 2019-07-11 10:26:03 · 149 阅读 · 0 评论 -
Python学习笔记之闭包
要想理解闭包的概念,先理解外函数和内函数的概念在一个函数内定义另一个函数,如下:# 函数中定义另一个函数def outer(): def inner(): return 0 return 0其中,outer() 就是外函数,inner() 就是内函数。理解这个概念后,下面就介绍闭包的概念。再看下面的代码:# 一个函数中定义了另一个函数,并且内函数引用了外...原创 2019-07-10 11:26:23 · 168 阅读 · 1 评论 -
Python学习笔记之返回函数
高阶函数除了可以接收函数作为参数外,还能把函数作为结果值返回。来看一个例子更好理解上面的概念。实现一个求和函数:# 求和函数def calc_sum(*args): sum = 0 for num in args: sum = sum + num return sum另一种方法是在函数内再定义一个求和函数,内函数使用外函数的参数,并将该内函数返回。...原创 2019-07-10 10:20:01 · 178 阅读 · 0 评论 -
Python学习笔记之sorted()
sorted() 方法是Python的内置排序算法。sorted() 是一个高阶函数,即 sorted() 函数中的参数可以是函数。sorted() 函数的参数如下:sorted(list, key, reverse)。list:待排序的序列key:自定义排序的函数。key指定的函数将作用于list的每一个元素上,并根据key函数返回的结果进行排序。reverse:只有两种取值,分别是 T...原创 2019-07-09 11:30:32 · 379 阅读 · 1 评论 -
PyCharm创建新Python文件时自动填充
我们知道 Python 文件中,有那么两行文本是必备的。它们是:#!/usr/bin/env python# -*- coding:utf-8 -*-我们可以在 PyCharm 中设置模板,这样就不用每次创建 py 文件时,都手动添加这两行文本。下面是图片教程:添加完成后,跃跃欲试,创建一个 py 文件,发现真的成功了,可是,这条波浪线是什么鬼!看看编译器报的是啥错:在文件的...原创 2019-07-09 10:05:45 · 3083 阅读 · 0 评论 -
Python学习笔记之filter()
filter,过滤器的意思。Python 内建函数 filter(),用于过滤序列。filter() 函数接收两个参数,第一个参数是一个函数,第二个参数为一个序列,这和 map() 函数类似。filter() 将传入的函数作用于每一个元素,根据返回值 True 或者 False 决定留下或者丢弃该元素。举个例子,删除一个序列中的所有奇数,保留偶数,就可以用 filter() 函数。代码如下:#...原创 2019-07-09 09:41:59 · 223 阅读 · 0 评论 -
Python学习笔记之reduce()
reduce() 函数接收两个参数,第一个参数是函数(称之为 f ),第二个参数是一个 Iterable(称之为It)。与 map() 函数不同,reduce() 的第一个参数函数 f 必须接收两个参数。首先取出 It 的前两个元素,传入 f 并计算结果(A);然后将结果(A)作为第一个参数, It 中的第三个元素作为第二个参数继续传入 f 计算结果(B);再将结果(B)作为第一个参数, ...原创 2019-05-22 15:58:01 · 232 阅读 · 0 评论 -
Python学习笔记之map()
上一章讲了Python中的高阶函数,下面介绍Python的几个重要的内置高阶函数。首先介绍 map() 函数。map() 函数接收两个参数,第一个参数是一个函数,第二个参数是一个Iterable。map 将传入的函数依次作用到序列的每个元素,并把结果作为新的 Iterator 返回。下面举个例子,如果我们想把一个 list 中的所有元素加1,有两种办法。一种是迭代这个 list,通过 for ...原创 2019-05-22 15:25:24 · 380 阅读 · 0 评论 -
Python学习笔记之高阶函数
高阶函数英文叫 Higher-order function。先来回顾一下 C 语言中指向函数的指针。如果在程序中定义了一个函数,编译系统为函数代码分配一段存储空间,这段存储空间的起始地址(又称入口地址)成为这个函数的指针。可以定义一个指向函数的指针变量,用来存放某一函数的起始地址,这就是指向函数的指针。定义指向函数的指针变量的一般形式为:类型名 (* 指针变量名)(函数参数列表)下面代码展示...原创 2019-05-21 17:10:18 · 287 阅读 · 0 评论 -
Python学习笔记之迭代器
在高级特性二迭代这篇文章中介绍了迭代的特性。现在要介绍的是迭代器(Iterator)。我们知道生成器可以通过for循环来迭代,而且还可以通过调用 next(generator g) 函数来返回下一个值,直到最后抛出 StopIteration 错误表示无法继续返回下一个值了。可以被 next() 函数调用并不断返回下一个值的对象称为迭代器(Iterator)。可以通过isinstance(obj...原创 2019-05-17 00:40:19 · 185 阅读 · 0 评论 -
Python学习笔记之生成器
上一章我们介绍了列表生成式。通过列表生成式,我们可以直接创建一个可以按照某种算法求得的 list。在两种情况下,列表生成式会显得不是很合理。第一,当 list 占用内存很大时。如果一个 list 种有几百万的元素,那么该列表会占用很大空间,这时如果直接用列表生成式生成,那么显得不太合适。第二,当 list 元素很多,但大多数情况下只访问前面几个元素时。这时如果使用列表生成式,不仅浪费内存空间,...原创 2019-05-16 01:53:25 · 129 阅读 · 0 评论 -
Python学习笔记之列表生成式
列表生成式即 List Comprehensions。如果要生成 list[1, 2, 3, 4, 5],那么可以使用如下代码:# 范围包头不包尾 list(range(1, 6))但如果要生成 [1×1, 2×2, 3×3, 4×4, 5×5],有两种办法。办法一就是通过循环:# 通过循环的方式生成 [1×1, 2×2, 3×3, 4×4, 5×5]L = []for x i...原创 2019-05-16 00:17:59 · 145 阅读 · 0 评论 -
Python学习笔记之高级特性二迭代
如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration)。Java是通过下标来迭代的,而Python是通过 for…in… 来完成迭代的。Java中遍历一个数组代码如下:# Java遍历一个数组for (int i = 0; i < list.length; ++i) { num = list[i];}...原创 2019-05-04 21:13:52 · 182 阅读 · 0 评论 -
Python学习笔记之高级特性一切片
切片切片用于取一个list中的元素。例如,要取一个list中的前三个元素,有两种办法,代码如下:# 取一个list中的前三个元素L = [0, 1, 2, 3, 4]# 第一种方法,不使用切片[L[0], L[1], L[2]]# 第二种方法,使用切片L[0:3]第一种方法显然局限性很大,当要取出100个时,相当困难。而第二种方法则方便许多。切片使用 [n:m] 的方式从l...原创 2019-05-03 21:18:57 · 259 阅读 · 0 评论 -
Python学习笔记之函数
内置函数Python内置函数文档自定义函数原创 2019-04-13 16:02:38 · 594 阅读 · 0 评论 -
Python学习笔记之集合
Python学习笔记之集合ListList的定义采用“[]”(方括号)的方式定义。List注意事项:List可通过调用len()方法获取长度;List可通过下标获取元素,下标从0开始;List还可以从从后往前获取元素,下标从-1开始,-2、-3一次类推。...原创 2019-04-13 14:51:29 · 315 阅读 · 0 评论 -
Python学习笔记之代码缩进问题
Python学习笔记之代码缩进问题对于Java语言而言,每一条语句都有分号结束,每一个代码块都有花括号来包裹,所以代码缩进对于Java而言仅仅是为了美观。例如下面两段代码是一样的:第一段代码,没有缩进:public class Test {public static void main(String[] args) {System.out.println("代码缩进演示");}}...原创 2019-04-13 10:42:13 · 1096 阅读 · 0 评论