2017 年 11 月的存档

Python-函数的参数传递(1)

本篇面向读者:有一点点 Python 基础 关键字:函数,参数,默认值 先说下上次课最后留的那题,我自己的解法: 1 print ';'.join([str(i) for i in range(1,101) if i % 2 == 0 and i % 3 == 0 and i % 5 == 0])另外,关于上次说的 List Comprehension,我在文中称之为“列表综合”,这是引自《简明 Python 教程》的翻译。也有同学表示叫做“列表解析”或“列表表达式”。都是一个意思,其实在写这课之前,我从来都不去“叫”它,只知道这么用而已。 ......

Python-列表解析

所谓列表解析(也有翻译成列表综合),就是通过一个已有的列表生成一个新的列表。 直接看例子: 假设有一个由数字组成的 list,现在需要把其中的偶数项取出来,组成一个新的 list。一种比较“正常”的方法是: 123456 list_1 = [1, 2, 3, 5, 8, 13, 22]list_2 = []for i in list_1:if i % 2 == 0:list_2.append(i)print list_2输出 1 [2, 8, 22]此方法 ......

Python-pickle

在之前的课程中,我们有讲到通过文件来保存、中转数据(参见第31、32、33课)。在使用文件存储时,通常需要对数据进行一些处理,按照一定的规范把数据整理成文本,再写入文件中。下次使用时,从文件中读出文本,再按照此规范解析这些数据。 这种将数据转成文本的过程又被称为“序列化”,即将对象状态转换为可保持或传输的格式的过程。对应的,从序列化的格式中解析对象状态的过程被称为“反序列化”。 在之前的课程和示例中,我们都自己手动实现了这个过程。其实 Python 提供了一个标准模块来做这件事,就是 pickle。它可以把任何 Pyt ......

Python-shell

如果你已经编写过自己的程序,相信对这些内容已经熟悉。但很多刚刚接触编程的人,对于在 python 里编写并运行代码,还时常有些疑问。 一般来说,有两种运行 python 代码的方法: 1. 使用交互式的带提示符的解释器 2. 使用源文件 第一种方法,所谓“交互式的带提示符的解释器”,也被称做 python shell。当你安装好 python,并正确配置系统变量 PATH 后(linux 和 mac 上通常都预装并配置好了 python),在命令行里输入 python,会看到诸如以下的提示: 12345 $ pythonPyt ......

Python-调试程序

代码,不可避免地会出现bug。很多人在初学编程的时候,当写完程序运行时,发现结果与自己预料中的不同,或者程序意外中止了,就一时没了想法,不知道该从何下手,只能反复重新运行程序,期待忽然有次结果就对了。 今天我就来讲讲代码遇到问题时的一些简单处理方法。 1. 读错误信息 来看如下一个例程: 123456 import randoma = 0for i in range(5):b = random.choice(range(5))a += i / bprint a这个程序中,i从0循环到4,每次循环中,b是0 ......