python入门笔记
一.注释
使用#用于单行注释
使用三对单引号或者双引号进行多行注释
二. 行和缩进
编程语言:由多条语句 按照相应的逻辑实现代码,
编写相应的程序的语句都有相应的结束标记,
一般变成语言的结束标记是分号:
但是在在Python中建议语句的予以结束不写分号的 也可以写[但是会报警告]
缩进:不要在代码前面随便添加空格或者tab
三.标识符和关键字
标识符是标识某个实体的符号,使用这个符号可以代替实体参与相应的运算 在编程语言中,标识符一般就是给变量、项目名称、文件名称、函数名、类名等等自定义名称,建立起名称和使用的数据之间的关系
自定义名称是要遵守一定的规则的:
标识符是由数字、字母、下划线组成的
标识符名称不能以数字开头
不能使用关键字与保留字
关键字:编程语言中具有特殊含义的单词
保留字: 编程语言中已经使用的名称 不建议再使用 【因为再使用的话 会覆盖掉原本的含义】
python中的关键字 被放在 keyword的工具包
四.变量与数据类型
变量:变化的数据这种变化的数据在程序中来使用的时候一般会给数据做一个标记
方便获取相关的数据信息这个标记就成为变量名
数据类型:数据类型把相同特征的数据进行归类,形成一类数据这个称为数据类型
python中的数据类型
整数类型(整形int) 10 20 45
小数类型(浮点型float) 3.3 64.4
文本数据(字符串str) 字符串数据是需要使用引号包含的[不区分单双引号]
逻辑结果(布尔类型bool)逻辑结果只用两种成立与不成立布尔值只有false和true
空值(None) 代表什么也没有
获取数据的类型 type(变量名)
五.输入与输出
1.输出
print(value, …, sep=’ ‘, end=’\n’, file=sys.stdout, flush=False)
value, …, 代表print可以一次性输出多个数据,书写的时候 数据之间使用逗号分隔
sep=’ ’ 一次性输出多个数据时 展示的结果中数据之间的分隔符 默认是空格
end=‘\n’ 输出内容结束符,print输出内容时 会在内容末尾追加一个结束符 默认是换行
字符串中特殊的符号 \ [转义符]
可以将某些符号的含义 转变成其他的意思
n — \n换行符
r — \r 回车 在windows系统下 存储数据的时候 \n 本质上存储的是\r\n
t — \t 制表符 就是tab键
file=sys.stdout
print数据输出的目的地,默认就是控制台
flush=False
是否快速的将通道中的数据输出到文件中
把内容输出到文件中
-
需要建立程序和文件之间的联系通道
有一个操作 open(文件路径, 操作文件的模式, 文件的编码形式)
以指定模式将文件与程序建立联系
操作文件的模式
r – read 只读 在程序中要读取文件的数据
w – write 只写 要将信息从程序中写入到文件中
文件如果不存在会自动创建文件
文件存在会清空文件内容 再把数据写入
a --append 只写要将信息从程序中写入到文件中
文件如果不存在会自动创建文件
文件存在 进行的是追加写的操作
文件的编码形式 【不同的编码形式决定了文件中语言的类型】
编码:人为规定一种编译规则
在计算机存储数据的时候,存储格式是 二进制形式的
十进制数据 逢十进一 数字符号集 0 1 2 3 4 5 6 7 8 9
二进制数据 逢二进一 数字符号集 0 1但是数据存储的时候 并不是只有数字,还有汉字 英文字母等等
十进制转化成二进制怎么转换的???
存储10 在计算机中的是什么样子???
除以2取余数 直到商为0 将所有的余数倒序拼接起来
10/2 = 5 ---- 0
5/2 = 2 ----- 1
2/2 = 1 ----- 0
1/2 = 0 ----- 1 10=====1010
汉字、英文字母等等不能直接转化为二进制,因此就出现了编码
计算机人为制造的,运算规则也是人为制造的open(文件路径, 操作文件的模式, 文件的编码形式)
文件路径有两种格式:
1. 绝对路径
windows系统 从盘符开始 到 具体的文件的路径 就是绝对路径
C:…
Mac系统 从根路径 /开始到具体文件结束
/Users/…
2. 相对路径[建议]
需要文件配置在项目路径下
相对路径是有参照物的:当前正在编辑的文件
相对路径中有两个特殊的符号:
. — 当前操作的文件所在的文件夹 Day02
… — 当前操作的文件所在的文件夹上一级 代码```python handle1 = open('../静夜思.txt', 'a', encoding='utf-8') ```
2.输入
print 把数据输出到控制台
input 让用户在控制台输入数据传递到程序中
想要获取数据我们需要接收
注意:输入的数据是变化的[也就是变量]想要获取变量的数据需要给变量的值
一个标记名
六.类型转换
通过input 输入的数据不是自己想要的类型可以通过
想转化的格式(数据/变量名)这个格式来进行转化
七.运算符
1.算数运算符
一元运算符: 正负号
二元运算符
加法 +
减法 -
乘法 *
除法 /和//(整除)
取余 %
幂数 **
复合赋值运算符
比较运算符
逻辑运算符
成员运算符
算数运算符的优先级
运算符
算数运算符
一元运算符: 正负号
二元运算符
加法 +
减法 -
乘法 *
除法 /和//(整除)
取余 %
幂数 **
优先级 **幂数>负号>乘除余>加减
提高运算符的优先级使用()包含不管多少层都是()
2.复合赋值运算符
简单的赋值运算符
=
a=10[将等号右边的数据赋值给左边的变量名]
复合赋值运算符
在进行赋值的时候先操作了算术运算
+=
*=
/=
//=
%=
**=
3.比较运算符
比较运算符
比较两个数据,判断大小
> 判断前者是否大于后者
> 判断前者是否大于或者等于后者
< 判断前者是否小于后者
< 判断前者是否小于后者或者等于后者
== 判断前者是否等于后者
!= 判断前者是否不等于后者
运算结果是布尔类型的只有true和false
算数运算符优先级别高于比较运算符
4. 成员运算符
成员:众多中的一个
这个运算符是应用在容器型数据的元素判断的
判断数据是否在某个容器型数据中
整数 小数 布尔值 控制 每个数据都是独立的个体都不是容器型数据
字符串是一个容器型类型元素是字符【长度为1的字符串被称为字符比如‘a’】
字符串是由0或者多个字符串拼接起来的
0个字符的情况下称为空字符串
成员运算符in
格式 数据in容器型数据
逻辑 把数据当作一个整体,判断数据是否包含在容器中
格式 数据not in 容器型数据
判断是否不在容器中
5.逻辑运算符
逻辑运算符是来操作逻辑关系的
逻辑与 and
连接的条件必须同时成立(并且)结果才成立
逻辑或 or
连接的条件成立其中一个即可(或者)
逻辑非 not
对条件结果去反操作真变假,假变真
八.流程控制语句
1.分支结构化语句
1.单分支结构
在顺序流程过程中检测数据是否达到某个状态点如果达到这个状态点按照状态点的流程进行操作
如果没有到达 按照原流程进行操作
2.双分支结构
相当于十字路口,是向左还是向右
语法:
if 条件:
满足条件执行操作
else
满足条件执行操作
2.多分支结构
出现了三种极其以上的选择
语法:
if 条件1:
操作一
elif 条件2
操作二
elif 条件n
操作n
else:
以上条件都不满足执行的操作
2.循环
循环:周而复始重复做同一件事情
一直重复操作没有终止在编程里被称为死循环(要避免)
常见循环结束状态;
1.循环满n次
2.循环达到某个条件
python中提供两个结构
1.for in 循环
for-in 循环(适合循环满N次的情节)
本质上是在遍历【逐个获取】容器型数据在遍历获取元素的过程中进行
相应的逻辑判断
容器型数据中有几个元素这个循环就执行几次
语法;
for 变量名 in 容器型数据
循环体
解读
in 可以理解成进入容器中拿元素数据
变量名 in 进入拿到数据之后 赋值给变量名
循环结束点 in 到容器中 没有数据可拿的时候循环结束
2. while循环
while (适合不确定循环次数使用)
1.重复做的操作是什么打印数据 每次打印都是一个
2.做这些事情的条件只要打印的数据没有到10 就得一直打印
语法
while 条件判断
循环体代码快
解读
只要条件成立程序就一直再次循环直到循环结束
3. break 和continue
都是应用在循环结构语句中,只能对循环起作用
break 的作用是终端他所在的循环【退出循环】
continue的作用【循环一次次执行的】是 结束当前次【循环体后面代码不在执行】
跳到循环判断的位置 再决定是否开启下一次【判断成立的时候开启下一次
九. 列表
列表 list
可变的有序型数据
可变 数据的值可以发生变化可以增删改
有序 容器中存放数据的时候容器中有多少个数据 会给数据设置编号
可以通过编号定位获取这个位置的数值也可以修改
这个编号被称为下标/索引
数据在进行定义的时候 数据表示是[] 在[]]中定义多个数据之间
用都好分割
比如[19,24,26,22]
编号为 0 1 2 3
列表的操作
1.下标(索引)
下标(索引):数据的一个编号 可以通过这个编号获取数据 也可以修改这个位置的数据
一边编程语言从左到右从0-1地政
python 有两种表达方式
1.正向索引——从左到右
2.负向索引——从右到左
格式
列表数据[下标]代表获取这个位置的数据
列表数据[下标]=数据 代表修改这个位置的数据
注意
下标不能超过编号的界限,否则报错
2.切片(slice)
切片(slice):提取子序列
本质上根据下标定位到容器相应的位置,从指定的起始位置按照步长数据元素去
格式
列表数据[起始下标:结束下标:步长]
解读:
1) :步长可以省略, 步长默认为1
列表数据[起始下标:结束下标]
代表从起始下标对应的元素开始 逐个取值 到结束下标对应的位置[结束下标不包含]
2) 起始下标可以省略
看步长为正还是为负
步长为正 代表从最左边开始
步长为负 代表从最右边开始
3) 结束下标也可以省略
看步长为正还是为负
步长为正 代表到最右边结束
步长为负 代表到最左边结束
3. 增加数据
1.列表数据.append(数据) 把数据追加在列表的末尾
2.列表数据.insert(数据) 在指定位置添加数据 原位置之后都向后
4.删除数据、
1.列表数据.remove(数据) 将数据在列表中移除 如果数据有多个的话 只会移除出现的第一个
2.列表数据.pop() 将列表中最后一个元素移除
3.列表数据.pop(位置) 将列表中指定位置的元素移除
4.列表数据.clear() 清空列表
5.列表的遍历
1.获取下标序列 根据下标提取数据值
2.遍历列表 获取列表中的元素
6. 列表的推导式
产生新列表–遍历简化格式
[变量 for 变量 in 容器型数据 if 判断条件]