注释的含义:
对代码进行解释和说明,目的就是让别人和自己能够清晰的看懂代码的令义,提高代码的可读性 注释是不会被计算机识别的 一般写注释的时候 是写在代码的上方 或者 右方 注释还有另外一个作用:修改代码的时候 可能代码需要进行调试 有部分代码用不到 没有必要删除 可以给注释掉 单行注释的快捷键 ctrl + / 去除注释 也是ctrl + /
行和缩进:
编程语言: 由多条语句 按照相应的逻辑实现代码,编写相应的程序的 语句都有相应的结束标记,一般编程语言语句的结束标记是分号; 在Python中 建议语句结束不写分号的 也可以写【但是会报警告】 建议: 一行一条语句[如果一行中有多条语句 语句结束必须加分号 ---这种方式不建议]
标识符和关键字:
标识符: 标识某个实体的符号,使用这个符号可以代替实体参与相应的运算在编程语言中,标识符一般就是给变量、项目名称、文件名称、函数名、.类名等等自定义名称,建立起名称和使用的数据之间的关系 自定义名称是要遵守一定的规则的: 1.标识符是由数字、字母、下划线组成的 2.标识符名称不能以数字开头 3不能使用关键字与保留字 关键字: 编程语言中具有特殊含义的单词 保留字: 编程语言中已经使用的名称 不建议再使用 [因为再使用的话 会覆盖掉原本的含义]
python中的关键字 被放在 keyword的工具包import keyword
# 获取所有的关键字的操作
print (keyword.kwlist)
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue',
'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if',
'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return',
'try', 'while', 'with', 'yield']
# import keyword # print(keyword.kwlist)
变量:
变化的数据 这种变化的数据在程序中来使用的时候 一般会给数据做一个标记 方便获取相关的数据信息 这个标记就成为变量名。 一般会被这个数据值 设置一个变量名 随着时间的推移 设置不同的数据值 当使用的时候直接使用这个标记名代替数据参与运算即可
数据格式:
数据类型: 把相同特征的数据进行归类,形成一类数据,这个称为数据类型 Python中的数据类型 整数类型(整型int) 小数类型(浮点型float) 文本数据(字符串str) 逻辑结果(布尔类型bool) 空值(None)
输出按住ctrl键 点击要查看信息的名称 就可以进入到Python定义的源码文件
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键
u --- 这个识别成unicode编码符号
file=sys.stdout
print数据输出的目的地,默认就是控制台
flush=False
是否快速的将通道中的数据输出到文件中
把内容输出到文件中 1. 需要建立程序和文件之间的联系通道 有一个操作 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 汉字、英文字母等等不能直接转化为二进制,因此就出现了编码 计算机人为制造的,运算规则也是人为制造的 汉字或者英文字母在存储的时候 指定了什么规则??? 这个映射规则称为编码 将汉字或者英文字母 每一个字对应着一个数字 例如 a ===> 97 一 ===> 27361 常见的编码规则有: ASCII码 --- 只设置128个符号对应的数字 包括英文字母 GB2312 --- 国家编码标准 2312序列号 GBK --- 国标扩展 Unicode --- 国际编码标准 【收录是世界语言在内的】 Python的编码就是unicode下UTF-8 2. 通过通道把数据传递到文件中
\u 每一个unicode编码值 都对应着一个文字
路径转义问题:
路径中 C:\Users\桌面\...
怎么解决转义的问题? 有些情况下 不需要转义符进行转义,保持转义符的本意
方式1: 对转义符再次转义 \\ 保持\本身的含义
print('\\n')
输出结果:\n
方式2: 使用r修饰字符串 字符串中每个符号都保持数据本身的含义
print(r'\n')
输出结果:\n
举例:
handle = open(r'D:\apps\新建文件夹\一首诗.txt', 'a', encoding='utf-8')
print('床前明月光,疑是地上霜。', file=handle, flush=True)
open(文件路径, 操作文件的模式, 文件的编码形式)
文件路径有两种格式:
1. 绝对路径 windows系统 从磁盘开始 到 具体的文件的路径 就是绝对路径 C:\WorkContent\各班代课\Python2304\day02_变量及其运算符\代码\静夜思.txt Mac系统 从根路径 /开始到具体文件结束 /Users/各班代课/Python2304/day02_变量及其运算符/代码/静夜思.txt 2. 相对路径[建议] 需要文件配置在项目路径下 相对路径是有参照物的:当前正在编辑的文件 相对路径中有两个特殊的符号: . --- 当前操作的文件所在的文件夹 Day02 .. --- 当前操作的文件所在的文件夹上一级 代码
举例:
h1 = open('./李白.txt','a',encoding='utf-8')
print('床前明月光','\n','yishidishangchuang', file=h1)
#在同级文件夹中创建一个py类型文件,内容为:床前明月光
类型转换:
让用户输入两个数,求两个数的和:
num1 = input('请输入第一个数:')
num2 = input('请输入第二个数:')
print('两个数据的和', num1 + num2)
#输出结果:两个数据的和 1728
原因:问什么不是相加而是拼接
input 不管用户输入的是什么格式的数据 在程序中拿到的都是字符串类型的
字符串数据之间进行相加 完成的是拼接的动作
想要完成相加操作,num1和num2接受到数据类型得是整数类型的才可以,但是现在是字符串类型的 想让字符串格式的数值变成整数类型,就需要进行类型转换
value = '1673'
print(type(value)) # <class 'str'>
num = int(value)
print(type(num)) # <class 'int'>
操作语法【这个格式是固定的】
int(数据/变量名)
注意事项: 把字符串格式的数值转化为整型时 数值的格式必须满足整数形态
举例:
num1 = int(input('第一个数'))
num2 = int(input('第二个数'))
print('两个数子的和',num1 + num2)
把字符串数据转化成浮点型
float(数据/变量名)
注意:转换的时候要满足数字的形态 【可以是整数 也可以小数】
举例:
data = '50.55'
res = float(data)
print(type(res))
运算符:
算术运算符
一元运算符: 正负号 +17 -89
二元运算符
加法 +
减法 -
乘法 *
除法 / 和 //
取余 %
幂数 **
a = 17
b = 6
print('加法', a + b)
print('减法', a - b)
print('乘法', a * b)
print('除法', a / b) # 结果是浮点型的
print('向下整除', a // b) # 有一个向下取整的操作: 结果是<=商 且最接近于商的整数
print('取余', a % b) # 两数相除 获取余数
print('幂数x的y次方', a ** b)