036❤Python基础小结
一、执行Python程序的两种方式
1.1 交互式
在终端内输入python3,然后输入python代码
1.2 命令行式
在终端内输入python3 文本文件路径
二、执行Python程序的两种IDE
2.1 Pycharm
常用快捷键
- ctrl+c:选中内容复制;不选中内容时,复制当前行。
- ctrl+x:选中内容剪切;不选中内容时,剪切当前行。
- ctrl+v:粘贴
- ctrl+d:复制当前行到下一行。
- ctrl+y:删除当前这一行。
- shift+enter:跳到下一行。
- ctrl+/:添加注释。
- tab:缩进。
- shift+tab:取消缩进。
- ctrl+f:查找。
- ctrl+shift+r:在当前项目中查找。
- ctrl+减号:折叠当前代码块。
- ctrl+加号:展开当前代码块。
- ctrl+shift+减号:折叠当前文件所有代码块。
- ctrl+shift+加号:展开当前文件所有代码库。
- ctrl+z:回到上一步操作
- shift+ctrl+z:回到下一步
2.3 Jupyter
Jupyter Notebook 的本质是一个 Web 应用程序,便于创建和共享文学化程序文档,支持实时代码,数学方程,可视化和 markdown。用途包括:数据清理和转换,数值模拟,统计建模,机器学习等等。优点:好用,很好用。
Jupyter Notebook 也是一个算法工程师友好的工具,但仍有许多拓展的空间,比如:当你的文件中包含大量的代码和 Markdown 混排时,你可能需要一个目录来帮助你更好的对文件结构进行可视化,nbextensions 可以帮我们实现
快捷键:
- Shift-Enter : 运行本单元,选中下个单元
- Ctrl-Enter : 运行本单元
- D,D : 删除选中的单元
- Ctrl-Shift-- : 分割单元
- X : 剪切选中的单元
- C : 复制选中的单元
- Shift-V : 粘贴到上方单元
- V : 粘贴到下方单元
- Z : 恢复删除的最后一个单元
- Ctrl-A : 全选
- Ctrl-Z : 复原
- Shirt:选中多个单元格
- Shirt+M:合并选中的单元格
- shift+tab :查看当前接口的属性
三、变量&常量
3.1 什么变量?
变量一般用来用来描述世间万物变化的状态
3.2 变量的组成
变量名 = 变量值
变量名是用来接收变量值的,=是赋值符号
3.3 变量名的定义规范
- 变量名具有某种意义
- 由数字/字母/下划线组成,且不能由数字开头,(我们一般也不用下划线开头)
- 不能用Python关键字
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
3.4 定义变量的两种方式
- 驼峰体:
NameOfNick
- 下划线:
name_of_nick
(推荐)
3.5 常量
常量是约定俗成的一种规范,常量名的定义方式为全大写.实际上可以被修改.
四、注释
4.1单行注释
#注释的语句
,#后面的字符不执行语法,即只为普通字符,一般用来解释某一段代码
4.2 多行注释
三单引号/三双引号
可以实现换行
4.3 引用计数
x = 257 # 257的引用计数为1
y = x # 257的引用计数为2
del x # 257的引用计数为1
4.4 垃圾回收机制
当变量值的引用计数为0的时候,该变量值会被Python自动回收它的内存占用
4.5 小整数池
[-5,256]之间的整数会在Python解释器启动的时候,自动开辟一块内存存入这些整数.也就是说这些整数不会因为引用计数为0而被删除
五、花式赋值
5.1 链式赋值
x = y = z = 10
5.2 交叉赋值
# 交叉赋值
x = 10
y = 20
x, y = y, x
print(x, y)
# 使用临时变量
x = 10
y = 20
temp = x
x = y
y = temp
print(x, y)
六、与用户交互
使用input,input输入的都是字符串形式
七、格式化输出
7.1 占位符
%s:接收任意数据类型的数据
%d:接收数字类型的数据
name = 'lwx'
'lwx name is %s'%name
7.2 format格式化
name = 'lwx'
'lwx name is {}'.format(name)
7.3 f-string格式化
name = 'lwx'
f'lwxname is {name}'
八、基本运算符
8.1逻辑运算符
and or not
8.2 比较运算符
> >= < <= == !=
8.3 赋值运算符
= += -= *= /= //= **= %=
8.4 身份运算符
is is not
id相同的值一定相同,值相同的id不一定相同
8.5 运算符优先级
如果需要某个运算符优先运算,则加个括号,使用`a and b is c == d 很麻烦
8.6 运算符的优先级
不要记优先级,我们使用括号进行运算
九、解压缩
hobby_list = ['read','run','sleep','fishing','piao']
# 如果取第2-3个爱好
_,hobby2,hobby3,*_ = hobby_list
print(hobby2, hobby3)
十、流程控制
10.1 if判断
10.1.1 if...
if 条件:
代码块
10.1.2 if...else
if 条件:
代码块
else:
代码块
10.1.3 if...elif....elif...else
if 条件:
代码块
elif 条件:
代码块
elif 条件:
代码块
...(可以写任意个elif)
else:
代码块
10.2 流程控制之while循环
10.2.1 while...
while 条件:
代码块
10.2.2 while + break
while 条件:
代码块
break # 结束本层循环,跳出循环
10.2.3 while + continue
while 条件:
代码块
if 条件:
代码块
cotinue # 不执行下面代码,然后继续循环,即跳出本次循环
代码块
10.2.4 while + else
while 条件:
代码块
else:
print('如果我没有被break,我就会被打印出来')
10.3流程控制之for循环
10.3.1 for
for i in range/str/list/tuple/dict/set(可迭代对象):
print(i)
10.3.2 for + break
for i in range/str/list/tuple/dict/set(可迭代对象):
print(i)
break # 结束本层循环
10.3.3 for + continue
for i in range/str/list/tuple/dict/set(可迭代对象):
print(i)
if 条件:
continue # 结束本次循环,即不执行下面代码,继续循环
代码块
10.3.4 for + else
for i in range/str/list/tuple/dict/set(可迭代对象):
print(i)
else:
print('如果我没有被break,我就会被打印出来')
999999