读《像计算机科学家⼀样思考python》——笔记
这本书,完全是⼊门级的,特别简单,⼀天多就看完。
⽬录:
第⼆章变量、表达式和语句
第三章:函数调⽤
第四章:案例研究:接⼝设计
第五章条件与递归
第六章:有返回值的函数
第七章迭代
第⼋章字符串序列
第⼗章:列表
第⼗⼀章:字典
第⼗⼆章元组
第⼗四章⽂件
第⼗五章类和对象
第⼗六章类和函数
第⼗七章类和⽅法
第18章继承
第⼆章变量、表达式和语句
1. 变量的基本数据类型:python中有整型、长整型、浮点型、字符串型、复数形式5种。
2. 使⽤type( ),可以查看数据类型;如:type(2), type(‘xiaoming’) 等; type是⼀个函数;
3. 数值操作符:
1)加、减、乘、除、求模和乘⽅: + 、-、 *、/、% 和 **
2)在python2中,除法 / 使⽤的是舍去式除法(整数相除为整数),即 2/3 结果为0;在python3中,除数结果为浮点数类型,即 2/3 =0.6666666666666……,并且使⽤⼀个新的操作符 // 表⽰舍去式除法 .
3)操作顺序:乘⽅>乘除>加减
4. 字符串可以使⽤的操作:
1)拼接:使⽤ + ,如: ‘adfsa’+’adfds’ = ‘adfsaadfds’
2) 重复操作:使⽤ * , 如: ‘abc’*3 = ‘abcabcabc’
5. 注释与换⾏:
# 我现在就是注释状态
print'a'
#换⾏使⽤ \ 符号;
print'asdfggk\
sdsfsf'
第三章:函数调⽤
1. python中内置的类型转换函数
int 把浮点数转换为整数,它直接把⼩数部分舍去;如 int(3.999) = 3; ⼜或int(‘2’) = 2,它转换了字符串;
float函数将整数和字符串转换为浮点数: float(32)=32.0 或 float(‘3.14159’) = 3.14159
str函数将参数转换为字符串;
2,定义⽆返回值的函数,定义⽅法如下, def + 函数名+() + :,函数体要有缩进:
def hello():
print'hello,world!'
print'hello, yinheyi'
3. python提供了两种导⼊模块的⽅式:
⽅法⼀: import 模块名,如 import math , 这时如果访问模块⾥⾯的函数的时候,需要同时指明模块名与函数名,中间⽤ . 分隔;
⽅法⼆: from 模块名 imort 函数名,这时,我们就可以直接使⽤这个函数名了,并且不需要指明模块名;使⽤ from 模块名import * 导⼊模块的所有成员;
优缺点:第⼆⽅式可以使代码更简洁,但是,不同模块的同名成员之间,可能发⽣冲突;
第四章:案例研究:接⼝设计
1. ⼀个开发计划:
1)最开始写⼀些⼩程序,⽽不需要函数定义;
2)⼀旦程序成功运⾏,将它封装到⼀个函数中,并加以命名;
3)泛化这个函数,添加合适的形参;
4)可以使⽤重构来改善程序的机会,例如,如果发现程序中⼏处地⽅有相似的代码,可以⽼柴将它们
抽取出来做⼀个合适的通⽤函数。
2. ⽂档字符串:
它的作⽤:在函数开头⽤来解释其的字符串。
def hello():
""" 这是⼀个⽂档字符串,使⽤三个引号可以允许字符串跨⾏表⽰;
我现在就跨⾏了啊;
"""
print"hello,world!"
注意:编写这类⽂档是接⼝设计的重要部分. ⼀个设计良好的接⼝,也应当很简单就能解释清楚;
第五章条件与递归
1. 关系操作符:
不等于!=
⼤于>
⼩于<
⼤于等于>=
⼩于等于<=
2. 逻辑操作符:
与and
或or
⾮not
3. 布尔值与布尔表达式:
表达式的值是真或假的表达式,就是布尔表达式。它的值为 True或False,它们并不是字符串。
4. 空语句:在python中,空语句使⽤ pass,记好!!!!
5. 条件判断表达式:
1)只有⼀个分⽀:
if x < y:
print'x is less than y'
2)有两个分⽀:
if x < y:
print'x is less than y'
else:
print'x is large than y'
3) 多个分⽀:
if x < y:
print'x is less than y'
elif:
print'x is large than y'
else:
print'x is equal to y'
6. 从键盘输⼊:
python 2 提供了内置函数 raw_input来从键盘获取输⼊, python 3 中这个函数改为了input, 不过它们的⽤法相同。
a = raw_input('input your name:\n')
print'hello '+a+'!'
#输出为:
input your name:
yinheyi
hello yinheyi!
第六章:有返回值的函数
1. 增量开发程序:
这个思想真的很好,我们可以把⼀个⼤的函数⼀点点的增加开发出来,慢慢的⼀点点的调试。增加⼀些必要的脚⼿架代码。⽐如,在关键的位置打印⼀下变量的值等。⼀步步地来,保证每⼀步都是正确的,这样可以幚我们节省⼤量的调试时间。
2. 有返回值的函数:返回值使⽤ return 返回。
def sum(a, b):
temp = a + b
return temp
3. 坚持信念:
在写递归函数的时候, 我们可以使⽤⼀个⽅法: 坚持信念。当我们遇到⼀个函数的调⽤的时候,不去跟踪执⾏的流程,⽽是我们假定函数是正确⼯作的,能够返回正确的结果。如著名的斐波那契数列,它的程序可以写作:
def fibonacci(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
return fibonacci(n-1) + fibonacci(n-2)
4. 检查类型:
python中内置了⼀个函数 isinstance 来检查的实参的类型,正确返回True,否则返回 False
isinstance(12, int)
True
>>> isinstance(12.2, float)
True
>>> isinstance('hello', str)
True
第七章迭代
1. while 循环:
while n < 100:
print n
n = n - 1
2. for 循环:
for i in range(100):
print i
i = i + 1
第⼋章字符串序列
1. 字符串是⼀个序列,它的下标是0 开始的; 使⽤python的内建函数len()可以返回字符串中的字符的个数:>>> a = 'hello'
>>> len(a)
5
>>> a[0]
'h'
可以使⽤for 循环来遍历⼀个字符串内的字符:
a = 'hello'
for char in a:
print char
2. 对字符串可以切⽚:
操作符[n:m] 返回字符从第n个字符到第m个字符的部分,包含第n 个字符,但是不包括第m个字符。>>> fruit = 'banana'
>>> fruit[1:3]
'an'
>>> fruit[:2]
'ba'
>>> fruit[3:]
'ana'
3. 操作符 in
in 是⼀个布尔操作符,操作于两个字符串上,如果第⼀个是第⼆个的⼦串,则返回True,否则返回 False。>>> 'yin'in'yinheyi'
True
4. 字符串中的元素是不可以改变的;
第⼗章:列表
1. 列表是⼀个序列,在列表中,它的值可以是任何类型,列表中值称为元素;列表可以嵌套在⼀个列表中。创建⼀个列表最简单的⽅法使⽤[ ], 如: [10, 20, 40, ‘xiaoming’]
2. 使⽤ [] 操作符来访问列表,列表中的元素是可以变化的;
3. 遍历⼀个列表,照样可以使⽤for()循环;
for i in array:
print i
python怎么读的4. 列表操作:
1) + 操作,可以⽤于拼接列表;
2) * 操作符,可以⽤于重复⼀个列表多次;
5. 从列表中删除元素:
1)使⽤下标删除: pop 修改列表,返回被删除的值,如果不提供下标,它会删除并返回最后⼀个元素;
t = ['a', 'b', 'c']
print t.pop(1)
#输出:b
print t
#输出:['a', 'c']
2) 使⽤下标删除, 不返回删除的值,使⽤del操作符:
>>> t =[1, 2, 3, 4]
>>> del t[1]
>>> print t
[1, 3, 4]
>>> t =[1, 2, 3, 4]
>>> del t[1:3]
>>> print t
[1, 4]
3)如果知道删除的元素,则可以使⽤remove:
>>> t = ['a', 'b', 'c', 'd', 'e']
>>> t.remove('d')
>>> print t
['a', 'b', 'c', 'e']
6. 把字符串转化为列表:
1)转换为单个单词:使⽤函数:list
>>> t = 'asdfas'
>>> print list(t)
['a', 's', 'd', 'f', 'a', 's']
2)转换为⼀个个的单词, 使⽤字符串的⽅法 split()
>>> t = 'hello world yinheyi'
>>> print t.split()
['hello', 'world', 'yinheyi']
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论