Python 编程从入门到实践

Python 编程从入门到实践
叶小楠一、Jetbrains系列软件常用快捷键
代码的格式化:Ctrl+Alt+L
调出快速搜索框:两次Shift
打开的文件中查找:Ctrl+F
全局查找快捷键默认:Ctrl+Shift+F
(如果不可以就是与搜狗输入法的冲突了)
Getter和Setter封装:Alt+Insert
自动补全代码:Alt+/
注释代码:Ctrl+/
撤销:Ctrl+Z
撤销返回:Ctrl+Shift+Z
复制本行代码到下一行:Ctrl+D
删除光标所在行的代码:Ctrl+Y
自动注释代码:Ctrl+Shift+/
万能的快捷键:Alt+Enter
测试接口的类:在要测试的上Ctrl + shift + t
快速展开/折叠全部方法:Ctrl + Shift + " +/- "
向上插入一行空格:CTRL+Enter
向下插入一行空格:Shift+Enter
上端或下端插入一空行:shift+Alt+方向键
快速给代码加上组合语句try/catch等:CTRL+ALT+T
多行相同的代码一起修改或者删除:Ctrl+Shift+Alt 或者 按住鼠标的滚轮向下拉 也可!
运行编写的py文件:Ctrl+Shift+F10
二、《Python 编程从入门到实践》P1~P200 学习总结
1.基本数据类型的运算
1 | 复制代码 隐藏代码print("Python针对于字符串的大小写和去除空白") |
2.Python之禅
1 | 复制代码 隐藏代码 |
3.Python关键字
1 | 复制代码 隐藏代码# 输出Python 中的关键字 |
4.Python ()[]{}区别
() 表示元组
1 | 复制代码 隐藏代码# 元组:Python将不能修改的值称为不可变的,而不可变的列表被称为元组! 不能修改的是元素,而变量是可以修改的 |
[]表示列表
1 | 复制代码 隐藏代码# 组织列表 sort() 永久性abcde正向或逆向排序 |
{}大括号表示字典
1 | 复制代码 隐藏代码# Python字典{} 相当于Java中的键值对 |
5.字典和列表(嵌套)使用
1 | 复制代码 隐藏代码# Python字典{} 键-值对 |
6.用户输入和while循环
1 | 复制代码 隐藏代码# 用户输入和while循环 函数input() |
7.函数
1 | 复制代码 隐藏代码# Python 的函数 相当于是java中的方法 |
1.导入模块
pizza.py 模块
1 | 复制代码 隐藏代码def make_pizza(size, *toppings): |
making_pizzas.py import 模块名
1 | 复制代码 隐藏代码import pizza #导入的模块的名字 pizza |
2.导入特定的函数
making_pizzas.py from 模块名 import 函数名
1 | 复制代码 隐藏代码from pizza import make_pizza #导入特定的函数 make_pizza |
3.使用as 给函数指定别名
making_pizzas.py from 模块名 import 函数名 as 别名
1 | 复制代码 隐藏代码from pizza import make_pizza as mp #导入特定的函数 make_pizza 并且指定别名 |
4.使用as 给模块指定别名
making_pizzas.py import 模块名 as 别名
1 | 复制代码 隐藏代码import pizza as pi #导入的模块的名字pizza 并且指定别名pi |
5.导入模块中所有的函数
making_pizzas.py from 模块名 import *
1 | 复制代码 隐藏代码from pizza import * #导入模块中所有的函数 |
8.类
1.创建类和使用类
dog.py
1 | 复制代码 隐藏代码class Dog(): |
2.根据类来创建实例/多个
dog.py
1 | 复制代码 隐藏代码my_dog = Dog('gougou', 6) |
dog.py #调用方法
1 | 复制代码 隐藏代码my_dog = Dog('gougou', 6) |
3.使用类和实例
che.py 属性指定默认的值 和 修改属性的值(直接和自定义函数) 不允许年份比之前要小
1 | 复制代码 隐藏代码# 在方法中通过自定义修改函数 修改属性的值 |
9. 继承
che.py
1 | 复制代码 隐藏代码# 在方法中通过自定义修改函数 修改属性的值 |
1.给子类定义属性和方法
che.py che为父类 ElectricCar为子类 子类继承父类 即:子类(父类)
1 | 复制代码 隐藏代码# 在方法中通过自定义修改函数 修改属性的值 |
2.子类重写父类的方法
che.py che为父类 ElectricCar为子类 子类继承父类 即:子类(父类)
1 | 复制代码 隐藏代码# 在方法中通过自定义修改函数 修改属性的值 |
3.导入类/单个类
car.py
1 | 复制代码 隐藏代码# 给属性指定默认的值 定义一个类 在类中定义 几个函数 |
mycar.py
1 | 复制代码 隐藏代码from car import Car # from 文件名 import 类名 |
4.模块中存储多个类/类继承 导入
car.py
1 | 复制代码 隐藏代码# 给属性指定默认的值 定义一个类 在类中定义 几个函数 |
my_electric_car.py 从一个模块中导入多个类 格式:from 模块名 import 类名,类名 或者 *
1 | 复制代码 隐藏代码from car import Car,ElectricCar |
5.导入整个模块/模块中所有的类
my_cars.py import 模块名 from 模块名 import 所有的类
1 | 复制代码 隐藏代码import car |
6.Python 标准库
字典让你能够和信息关联起来,但是不记录添加键值对的顺序。创建字典并记录键值对中的数据可以使用模块 collections 中的 OrderedDict类。OrderedDict实例几乎与字典相同,区别只是在于记录键-值对的顺序!
1 | 复制代码 隐藏代码from collections import OrderedDict # 导入一个模块中的函数 |
10.文件和异常
1.读取整个文件 read()
pi_digits.txt
1 | 复制代码 隐藏代码3.1415926535 |
file_reader.py 读取整个文件的格式是: with open(‘文件的名字’) as file_object:
1 | 复制代码 隐藏代码# 相对文件路径 (优先使用) |
2.使用文件的内容 读取/拼接/长度
pi_string.py
1 | 复制代码 隐藏代码# 逐行 读取文件的信息 使用readlines() |
3.读取一个百万位的大型文件
pi_string.py
1 | 复制代码 隐藏代码# 逐行 读取文件的信息 使用readlines() |
4.写入到空文件(多行)/附加/读取
pi_string.py
1 | 复制代码 隐藏代码# 写入文件 执行完之后 文件目录中 会生成一个xieru.txt的文件 内容就是‘易瑞杰正在学习Python’ |
pi_string.py
1 | 复制代码 隐藏代码# 写入文件 在读取写入的文件内容和文件长度 |
pi_string.py
1 | 复制代码 隐藏代码# 提示用户输入自己的姓名 再将用户输入的姓名写入到文件中输出 |
division.py
1 | 复制代码 隐藏代码# 异常 division by zero |
division.py 使用多个文件
1 | 复制代码 隐藏代码# 定义函数 排除异常 读取文件 拆分文件内容 计算内容长度 写入到新的文件中 |
5.存储数据
number_reader.py json.dump()和json.load()
1 | 复制代码 隐藏代码import json |
remember_me.py 保存和读取用户输入的数据
1 | 复制代码 隐藏代码import json |
6.重构
remember.py
1 | 复制代码 隐藏代码import json |
remember.py
1 | 复制代码 隐藏代码import json |
11.测试代码
1.测试函数
name_function.py
1 | 复制代码 隐藏代码def get_formatted_name(first, last): |
name.py from 模块名 import 函数名
1 | 复制代码 隐藏代码from name_function import get_formatted_name |
2.单元测试和测试用例 / 可通过测试 / 添加新测试
name_function.py
1 | 复制代码 隐藏代码def get_formatted_name(first, last): |
test_name_function.py
1 | 复制代码 隐藏代码import unittest |
添加新测试
name_funciton.py
1 | 复制代码 隐藏代码def get_formatted_name(first, last): |
test_name_function.py
1 | 复制代码 隐藏代码import unittest |
3.测试类
测试中常用的6种的断言方法
1 | 复制代码 隐藏代码 self.assertEqual(a,b) #核实a==b |
survey.py #一个要测试的类
1 | 复制代码 隐藏代码class AnonymousSurvey(): |
language_survey.py #一个要使用测试的类的类
1 | 复制代码 隐藏代码from survey import AnonymousSurvey |
测试AnonymousSurvey类
1 | 复制代码 隐藏代码import unittest |
test_survey.py for遍历测试类中的答案列表 方法 setUp()
1 | 复制代码 隐藏代码import unittest |
12.写一个简单的程序/打包为exe并运行
shuzi.py 创建1~100的一个数字列表,存储在文件shuzi.txt中,并读取显示在控制台!
1 | 复制代码 隐藏代码print('创建1~100的一个数字列表,存储在文件shuzi.txt中,并读取显示在控制台!') |
1.打包教程
win+R 输入cmd 进入命令行窗口 执行 pip install Pyinstaller
安装打包的插件
之后cd 到要打包的文件项目的路径下:D:\SoftwareProject\PyCharmProject\peoject1
也可以在文件项目的窗口路径前直接 添加 cmd D:\SoftwareProject\PyCharmProject\peoject1
敲回车进入
在cmd 窗口中执行命令 Pyinstaller -F test(要打包的文件名).py
Pyinstaller -F 文件名.py //打包exe
Pyinstaller -F -w 文件名.py //不带控制台的打包
Pyinstaller -F -i xx.ico 文件名.py //打包指定exe图标打包
出现completed successfully就成功了。
生成的exe文件在dist里,这个exe文件单独拿出来放在任何的位置都可以运行。