《Python编程 从入门到实践》笔记
2018-09-28 本文已影响0人
Anonymous1105
第2章
- 变量命名:字母数字下划线,数字不能放前面。
- 字符串可用单引号或双引号
-
name.title()
首字母大小写
name.upper()
全大写
name.lower()
全小写 -
string.strip()
删除两端空白
string.rstrip()
删除末尾空白
string.lstrip()
删除开头空白 -
string.split()
将字符串分割成列表,以空格为分隔符 -
str(age)
不能直接打印数字,要将非字符串强制转换为字符串 - python2中
3/2=1
,但3.0/2=1.5
,必须包含至少1个浮点数 #注释
-
import this
python之禅
第3章
-
list[-1]
-1返回倒数第1个元素,-2返回倒数第2个元素,依此类推 -
list.append('abc')
添加元素至末尾
list.insert(0, 'abc')
插入元素到指定位置
del list[0]
删除指定元素
list.pop() list.pop(0)
弹出并返回指定元素
list.remove('abc')
根据值删除元素 -
list.sort()
按字母顺序排序
list.sort(reverse=True)
按字母倒序排序
sorted(list)
返回按字母顺序排序的列表
sorted(list, reverse=True)
返回按字母倒序排序的列表
list.reverse()
列表倒序
len(list)
列表长度
第4章
-
for i in list:
i表示单个元素,list表示循环列表 -
range(10)
[0,10)之间的整数的数值列表
range(1, 5)
[1,5)之间的整数的数值列表
range(2, 11, 2)
[2,11)之间每2个数的整数的数值列表
list(range(1, 5))
将数值列表转换为列表 -
min(list)
max(list)
sum(list)
-
list = [value**2 for value in range(1,11)]
列表解析 - 切片的不同表示
list[0:3]
list[:4]
list[2:]
list[:]
list[-3:]
-
list1 = list2
表示list1
和list2
为同一列表的不同名字
list1 = list2[:]
表示将list2
复制到list1
-
tuple(10, 20)
元组(元素不可改变的列表)
第5章
-
if i in list:
i在list中
if i not in list:
i不在list中 -
if-elif-else
多重判断 -
if list:
列表为空时返回False(字符串同理)
第6章
-
dictionary = {}
创建空字典
dictionary['key'] = value
添加键值对
del dictionary['key']
删除键值对 -
for key, value in dictionary.items():
循环键值对
for key in dictionary.keys():
循环键
for key in sorted(dictionary.keys()):
循环按字母顺序排序的键
for value in dictionary.values():
循环值
for value in set(dictionary.values()):
循环剔除重复的值 - 列表嵌套字典
字典嵌套列表
字典嵌套字典
第7章
-
age = input(string)
string为提示输入字符串
age = int(age)
输入的结果为字符串型,需要强制转换为数值型 -
while judgement:
break
语句
continue
语句
第8章
- 方法
def function(args):
'''方法注释'''
-
function(para2 = 'string', para1 = 100)
关键字参数不看位置顺序 -
def function(para = 'string')
默认值参数(最好放后面) -
function(list)
传递实际的列表本身
function(list[:])
传递列表的副本(切片) - 传递特殊的参数
def function(*para): #传递任意数量的参数
def function(**para): #传递任意数量的键值对
dictionary = {}
for key, value in para.items():
dictionary[key] = value
return dictionary
- 导入整个模块
import module
module.function() #需要指明模块
- 导入模块中的方法
from module import function1, function2
function1()
function2() #不需要指明模块
-
import module as m
模块的别名 -
from module import *
不需要指明模块,但不推荐使用,容易造成命名冲突
第9章
- 类
class Class():
def __init__(self, para1): #初始方法必须有self参数放在最前面
self.para1 = para1 #形参赋值给实参
self.para2 = 100 #每个属性都必须有初始值
self.object = Object() #可将实例作为类的属性
(return self) #__init__方法隐式返回所创建的实例
- 继承
class Class(Super): #继承类
def __init__(self, para1):
super().__init__(para1) #调用父类初始方法,节省代码量
- 导入类的方式与导入模块相同
第10章
- 文件
filename = 'test.txt' #Windows使用反斜杠'\',Linux和Mac使用斜杠'/'
file = open(filename) #可选 'r' 'w' 'a' 'r+' 'x' 'b' 't',默认'r'
with open(filename, 'r+') as file: #with让python自动妥善处理何时关闭文件,否则需要手动使用close()关闭文件
contents = file.read() #末尾返回结尾标识EOL
lines = file.readlines() #将每行读取到列表lines中
file.write('string') #文件已存在时将覆盖原有文件
for line in file: #逐行读取
print(line)
# file.close() 关闭文件
- 异常
try: #只有可能引发异常的代码才需要放在try语句中
statements
except (FileNotFoundError, ValurError, TypeError): #异常类型可有可无
pass #有异常。pass表示跳过
else:
statements #无异常
finally:
statements #无论有无异常都执行
- json
import json
filename = 'test.json'
with open(filename) as file:
object = json.load(file) #读取
with open(filename, 'w') as file:
json.dump('string', file) #写入
第11章
- 测试
import unittest
class AbcTestCase(unittest.TestCase): #必须继承unittest.TestCase类
def setUp(self): #优先执行,创建共用的实例或列表
statements
def test_abc(self): #以test开头的方法都将自动运行
statements
unittest.main() #运行测试
-
assertEqual(a, b)
a==b
assertNotEqual(a, b)
a!=b
assertTrue(x)
x==True
assertFalse(x)
x==False
assertIn(item, list)
item in list
assertNotIn(item, list)
item not in list