1. 变量和简单数据类

  1. print("Hello Python world!")

1.1变量

  1. message = "Hello Python world!"
  2. print(message)

1.1.1变量的命名和使用

规则:变量只能包含字母数字下划线,变量名不能包含空格,不要将Python的关键值和函数名作为变量名,变量名应该简短又具有描述性,小写字母l和大写字母o少用

1.1.2使用变量时避免命名错误

  1. message = "Hello Python Crash Course reader!"
  2. print(mesage)

1.2常用数据类型

1.2.1字符串

字符串就是一系列字符,用引号括起的都是字符串

  1. "This is a string."
  2. 'This is also a string.'

1.2.1.1字符串操作,使用方法修改字符串的大小写

  1. name = "ada lovelace"
  2. print(name.title())
  1. name = "Ada Lovelace"
  2. print(name.upper())
  3. print(name.lower())
  1. first_name = "ada"
  2. last_name = "lovelace"
  3. full_name = first_name + " " + last_name
  4. print(full_name)

1.2.1.2使用转义字符
  1. print("\t\n");

1.2.1.3删除空白
  1. favorite_language.restrip();##去右边空格
  2. favorite_language.lstrip();##去左边空格

1.2.2数字

1.2.2.1整数
  1. >>> 2 + 3
  2. 5
  3. >>> 3 - 2
  4. 1
  5. >>> 2 * 3
  6. 6
  7. >>> 3 / 2
  8. 1.5

1.2.2.2浮点数
  1. >>> 0.1 + 0.1
  2. 0.2
  3. >>> 0.2 + 0.2
  4. 0.4
  5. >>> 2 * 0.1
  6. 0.2
  7. >>> 2 * 0.2
  8. 0.4

1.2.2.3数值强转字符串
  1. age = 23
  2. message = "Happy " + str(age) + "rd Birthday!"
  3. print(message)

1.2.2.4注释
  1. ##向大大家问好

2. 列表

2.1列表

列表由一系列按特定顺序排列的元素组成。

  1. ##列表声明
  2. 变量名=['value1','value2','value3','value4']
  3. ##访问列表
  4. print(变量名[0])
  5. ##修改,添加和删除元素
  6. ##修改列表
  7. 变量名[0]='value5'
  8. ##添加元素(追加)
  9. 变量名.append('value6')
  10. ## 插入元素
  11. 变量名.insert(0, 'value1')
  12. ##删除元素
  13. del 变量名[0]
  14. 变量名.pop();##删除顶元素
  15. ##根据值删除元素
  16. 变量名.remove('value')

2.2组织列表

  1. ##排序
  2. 变量名=['value1','value2']
  3. 变量名.sort()
  4. ##反序排序
  5. 变量名.sort(reverse=True);
  6. ##临时排序
  7. 变量名2=sorted(变量名);
  8. ##排序倒序
  9. 变量名.reverse();
  10. ##确定列表的长度
  11. len(变量名)

3. 操作列表

3.1遍历列表

  1. 变量名 = ['值1', '值2', '值3']
  2. for 元素 in 变量名:
  3. print(元素)

3.2缩进错误

3.2.1忘记缩进

3.2.2不必要的缩进

3.2.3循环后不必要的缩进

3.2.4遗漏了冒号

3.3数值列表

3.3.1range()和数字列表的基本函数

  1. ## range(起始位置,最终位置):生成一系列数字
  2. ##生成数字列表
  3. numbers=list(range(1,6))
  4. ##指定数值间的递增间隔
  5. numbers=list(range(2,11,2))
  1. min(数值列表)
  2. max(数字列表)
  3. sum(数字列表)

3.3.2列表部分使用

  1. 变量名 = ['值1', '值2', '值3', '值4', '值5']
  2. ##切片的个数,第一个参数从哪里开始,第二个参数切多少个数
  3. print(变量名[0:3])
  1. 变量名 = ['值1', '值2', '值3', '值4', '值5']
  2. ##切片的个数,第一个参数从哪里开始,第二个参数切多少个数
  3. for 元素 in 变量名[:3]:
  4. print(元素);
  1. 变量名 = ['值1', '值2', '值3']
  2. 变量名2= 变量名[:]

3.3.3元组

元组:用圆括号来标识。

  1. 变量名 = (200, 50)
  2. print(变量名[0])
  3. print(变量名[1])
  1. 变量名 = (200, 50)
  2. for 元素 in 变量名:
  3. print(元素)
  1. ## 不能修改元组的元素,但可以给存储元组的变量赋值
  2. dimensions = (200, 50)
  3. dimensions = (400, 100)

4. if语句

4.1 if的基本格式

  1. if 条件 :
  2. do someting
  1. if 条件:
  2. 执行
  3. else :
  4. 执行
  1. if 条件 :
  2. do somrting ;
  3. elif 条件 :
  4. do someting;
  5. else :
  6. do someting;
  1. if 条件 :
  2. do somrting ;
  3. elif 条件 :
  4. do someting;
  5. elif 条件 :
  6. do someting;
  7. else :
  8. do someting;

4.2 条件测试

判断:== ,!=,<,> ,and , or, in(包含),not in(不包含)

5.字典

5.1字典:

map格式的数据结构

  1. 字典名字={'key': 'value'}
  2. ## 访问字典
  3. print(字典名字['key'])
  4. ## 添加键值对
  5. 字典名字['newkey']=value;
  6. ##修改字典中的值
  7. 字典名字['key']=value;
  8. ## 删除键一值对
  9. del 字典名字['key']

5.2 遍历字典

  1. 变量名={
  2. 'key':'value',
  3. 'key1':'value'
  4. }
  5. for key value in 变量名.items():
  6. print("\n key:"+key)
  7. print("\n value: "+ value)
  8. for value in 变量名.keys():
  9. print(value)

5.3嵌套

5.3.1 列表字典

  1. ##字典
  2. 字典_0 = {'key1': 'value1', 'key2': 5}
  3. 字典_1 = {'key1': 'value1', 'key2': 10}
  4. 字典_2 = {'key1': 'value1', 'key2': 15}
  5. ## 列表
  6. 列表 = [字典_0, 字典_1, 字典_2]

5.3.2字典列表

  1. # 字典存列表
  2. 字典名= {
  3. 'key': 'value',
  4. '列表key': ['value1', 'value2'],
  5. }

6.用户输入和while循环

6.1函数input()的工作原理

  1. 变量名 = input("输入提示语:")
  1. age=input("你几岁了?:")
  2. age=int(age)

6.2while循环

  1. while 条件:
  2. 执行体
  1. while 条件:
  2. 执行体
  3. if 条件:
  4. break;
  5. elif 条件:
  6. continue;

7.函数

7.1函数声明格式

  1. def 函数名():
  2. 执行体
  3. ## 函数调用
  4. 函数名()
  5. ##有参函数
  6. def 函数名2('形参'):
  7. 执行体
  8. ##函数调用
  9. 函数名2('实参')
  10. ##默认形参值
  11. def 函数名2('形参'='默认值'):
  12. 执行体
  13. ##函数调用
  14. 函数名2('实参')
  15. ##返回函数
  16. def 函数名3(形参变量):
  17. return 形参变量;
  18. ##传递任意数量的实参
  19. def 函数名(*形参变量):
  20. dosometing
  21. ##调用
  22. 函数名('')
  23. 函数名('','')

7.2导入模块

  1. import 文件名
  2. 文件名.函数名()
  1. from module_name import function_name ,function2_name as function2
  2. function2()
  1. import module_name as mn
  2. ##导入所有函数
  3. from 文件名 import *

8.类

8.1创建和使用类

  1. class className():
  2. """这个类的描述叙述"""
  3. ##构造方法
  4. def __init__(self ,变量名1,变量名2):
  5. self.变量名1=变量名1;
  6. self.变量名2=变量名2;
  7. ##属性方法
  8. def function():
  9. """ 方法描述用于"""
  10. 执行过程
  1. my_className=ClassName(变量名1值,变量名2值)
  2. ##访问属性
  3. my_className.属性
  4. ##调用类方法
  5. my_className.函数名()

8.2继承

  1. class 类名():
  2. """构造方法"""
  3. def __init__():
  4. class 类名2(类名):
  5. def __init__():

8.3导入类

  1. ##导入单个类
  2. from 模块(文件) import 类名
  3. ##导入多个类
  4. from 模块 import 1, 2
  5. ##导入整个模块
  6. import 模块
  7. ##导入模块中的所有类
  8. from 模块名 import *
  9. ##在一个模块中导入另一个模块
  10. from 模块名 import
  11. from 模块名 import

8.4标准库

Python标准库是一组模块

9.文件和异常

9.1从文件中读取数据

  1. with open('文件全路径')as 文件对象:
  2. 变量名=文件对象.read()
  3. print(变量名)
  1. with open('文件全路径')as 文件对象:
  2. for line in 文件对象:
  3. print(line)
  1. with open('文件全路径') as 文件对象:
  2. lines = file_object.readlines()
  3. for line in lines:
  4. print(line)

9.2写文件

  1. with open('文件全路径') as 文件对象:
  2. file_object.write("内容")
  1. with open('文件全路径') as 文件对象:
  2. 文件对象.write("内容.\n")
  3. 文件对象.write("内容.\n")

9.3异常

  1. try
  2. 执行语句
  3. except 异常:
  4. 执行语句
  5. ##异常:FileNotFoundError异常 ,pass什么都不做

9.4存储数据

使用json来存储数据

  1. ##使用函数json.dump()将数字列表存储到文件文件路径.json中
  2. import json
  3. 列表=[1,2,3,4,5,6]
  4. with open('文件路径','w')as 文件对象:
  5. json.dump(列表,文件对象)
  6. ##将列表存储在文件对象里

保存和读取用户生成的数据

  1. ##使用函数json.dump()将数字列表存储到文件文件路径.json中
  2. import json
  3. with open('文件路径','w') as 文件对象:
  4. json.dump('文件路径',文件对象)
  1. import json
  2. with open('文件路径')as 文件对象:
  3. 对象=json.load(文件对象)

重构:

代码能够正确地运行,但可做进一步的改 进——将代码划分为一系列完成具体工作的函数

10.测试代码

10.1单元测试和测试用例

  1. 单元测试用 于核实函数的某个方面没有问题。
  2. 测试用例是一组单元测试,这些单元测试一起核实函数在各种情形下的行为都符合要求。
  3. 全覆盖式测试用例包含一整套单元测试,涵盖了各种可能的函数

使用方式。

10.2可通过的测试