1. 变量和简单数据类
print("Hello Python world!")
1.1变量
message = "Hello Python world!"print(message)
1.1.1变量的命名和使用
规则:变量只能包含字母数字下划线,变量名不能包含空格,不要将Python的关键值和函数名作为变量名,变量名应该简短又具有描述性,小写字母l和大写字母o少用
1.1.2使用变量时避免命名错误
message = "Hello Python Crash Course reader!"print(mesage)
1.2常用数据类型
1.2.1字符串
字符串就是一系列字符,用引号括起的都是字符串
"This is a string."'This is also a string.'
1.2.1.1字符串操作,使用方法修改字符串的大小写
name = "ada lovelace"print(name.title())
name = "Ada Lovelace"print(name.upper())print(name.lower())
first_name = "ada"last_name = "lovelace"full_name = first_name + " " + last_name ❶print(full_name)
1.2.1.2使用转义字符
print("\t\n");
1.2.1.3删除空白
favorite_language.restrip();##去右边空格favorite_language.lstrip();##去左边空格
1.2.2数字
1.2.2.1整数
>>> 2 + 35>>> 3 - 21>>> 2 * 36>>> 3 / 21.5
1.2.2.2浮点数
>>> 0.1 + 0.10.2>>> 0.2 + 0.20.4>>> 2 * 0.10.2>>> 2 * 0.20.4
1.2.2.3数值强转字符串
age = 23message = "Happy " + str(age) + "rd Birthday!"print(message)
1.2.2.4注释
##向大大家问好
2. 列表
2.1列表
列表由一系列按特定顺序排列的元素组成。
##列表声明变量名=['value1','value2','value3','value4']##访问列表print(变量名[0])##修改,添加和删除元素##修改列表变量名[0]='value5'##添加元素(追加)变量名.append('value6')## 插入元素变量名.insert(0, 'value1')##删除元素del 变量名[0]变量名.pop();##删除顶元素##根据值删除元素变量名.remove('value')
2.2组织列表
##排序变量名=['value1','value2']变量名.sort()##反序排序变量名.sort(reverse=True);##临时排序变量名2=sorted(变量名);##排序倒序变量名.reverse();##确定列表的长度len(变量名)
3. 操作列表
3.1遍历列表
变量名 = ['值1', '值2', '值3'] ❶for 元素 in 变量名: ❷print(元素) ❸
3.2缩进错误
3.2.1忘记缩进
3.2.2不必要的缩进
3.2.3循环后不必要的缩进
3.2.4遗漏了冒号
3.3数值列表
3.3.1range()和数字列表的基本函数
## range(起始位置,最终位置):生成一系列数字##生成数字列表numbers=list(range(1,6))##指定数值间的递增间隔numbers=list(range(2,11,2))
min(数值列表)max(数字列表)sum(数字列表)
3.3.2列表部分使用
变量名 = ['值1', '值2', '值3', '值4', '值5']##切片的个数,第一个参数从哪里开始,第二个参数切多少个数print(变量名[0:3])
变量名 = ['值1', '值2', '值3', '值4', '值5']##切片的个数,第一个参数从哪里开始,第二个参数切多少个数for 元素 in 变量名[:3]:print(元素);
变量名 = ['值1', '值2', '值3']变量名2= 变量名[:]
3.3.3元组
元组:用圆括号来标识。
变量名 = (200, 50)print(变量名[0])print(变量名[1])
变量名 = (200, 50)for 元素 in 变量名:print(元素)
## 不能修改元组的元素,但可以给存储元组的变量赋值dimensions = (200, 50)dimensions = (400, 100)
4. if语句
4.1 if的基本格式
if 条件 :do someting
if 条件:执行else :执行
if 条件 :do somrting ;elif 条件 :do someting;else :do someting;
if 条件 :do somrting ;elif 条件 :do someting;elif 条件 :do someting;else :do someting;
4.2 条件测试
判断:== ,!=,<,> ,and , or, in(包含),not in(不包含)
5.字典
5.1字典:
map格式的数据结构
字典名字={'key': 'value'}## 访问字典print(字典名字['key'])## 添加键值对字典名字['newkey']=value;##修改字典中的值字典名字['key']=value;## 删除键一值对del 字典名字['key']
5.2 遍历字典
变量名={'key':'value','key1':'value'}for key value in 变量名.items():print("\n key:"+key)print("\n value: "+ value)for value in 变量名.keys():print(value)
5.3嵌套
5.3.1 列表字典
##字典字典_0 = {'key1': 'value1', 'key2': 5}字典_1 = {'key1': 'value1', 'key2': 10}字典_2 = {'key1': 'value1', 'key2': 15}## 列表列表 = [字典_0, 字典_1, 字典_2]
5.3.2字典列表
# 字典存列表字典名= {'key': 'value','列表key': ['value1', 'value2'],}
6.用户输入和while循环
6.1函数input()的工作原理
变量名 = input("输入提示语:")
age=input("你几岁了?:")age=int(age)
6.2while循环
while 条件:执行体
while 条件:执行体if 条件:break;elif 条件:continue;
7.函数
7.1函数声明格式
def 函数名():执行体## 函数调用函数名()##有参函数def 函数名2('形参'):执行体##函数调用函数名2('实参')##默认形参值def 函数名2('形参'='默认值'):执行体##函数调用函数名2('实参')##返回函数def 函数名3(形参变量):return 形参变量;##传递任意数量的实参def 函数名(*形参变量):dosometing##调用函数名('')函数名('','')
7.2导入模块
import 文件名文件名.函数名()
from module_name import function_name ,function2_name as function2function2()
import module_name as mn##导入所有函数from 文件名 import *
8.类
8.1创建和使用类
class className():"""这个类的描述叙述"""##构造方法def __init__(self ,变量名1,变量名2):self.变量名1=变量名1;self.变量名2=变量名2;##属性方法def function():""" 方法描述用于"""执行过程
my_className=ClassName(变量名1值,变量名2值)##访问属性my_className.属性##调用类方法my_className.函数名()
8.2继承
class 类名():"""构造方法"""def __init__():class 类名2(类名):def __init__():
8.3导入类
##导入单个类from 模块(文件) import 类名##导入多个类from 模块 import 类1, 类2##导入整个模块import 模块##导入模块中的所有类from 模块名 import *##在一个模块中导入另一个模块from 模块名 import 类from 模块名 import 类
8.4标准库
Python标准库是一组模块
9.文件和异常
9.1从文件中读取数据
with open('文件全路径')as 文件对象:变量名=文件对象.read()print(变量名)
with open('文件全路径')as 文件对象:for line in 文件对象:print(line)
with open('文件全路径') as 文件对象:lines = file_object.readlines()for line in lines:print(line)
9.2写文件
with open('文件全路径') as 文件对象:file_object.write("内容")
with open('文件全路径') as 文件对象:文件对象.write("内容.\n")文件对象.write("内容.\n")
9.3异常
try:执行语句except 异常:执行语句##异常:FileNotFoundError异常 ,pass什么都不做
9.4存储数据
使用json来存储数据
##使用函数json.dump()将数字列表存储到文件文件路径.json中import json列表=[1,2,3,4,5,6]with open('文件路径','w')as 文件对象:json.dump(列表,文件对象)##将列表存储在文件对象里
保存和读取用户生成的数据
##使用函数json.dump()将数字列表存储到文件文件路径.json中import jsonwith open('文件路径','w') as 文件对象:json.dump('文件路径',文件对象)
import jsonwith open('文件路径')as 文件对象:对象=json.load(文件对象)
重构:
代码能够正确地运行,但可做进一步的改 进——将代码划分为一系列完成具体工作的函数
10.测试代码
10.1单元测试和测试用例
- 单元测试用 于核实函数的某个方面没有问题。
- 测试用例是一组单元测试,这些单元测试一起核实函数在各种情形下的行为都符合要求。
- 全覆盖式测试用例包含一整套单元测试,涵盖了各种可能的函数
