变量与数据类型
Python是开源的 进入到源码 按住ctrl键 点击功能名称
一、输入与输出
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
-
value, ...,
这一部分代表的就是 print这个功能可以一次性输出多个数据,书写的时候 数据之间使用逗号空格隔开
-
sep=' '
代表的是一次性输出多个数据 在展示的时候 数据之间的分隔符是什么 默认是空格
可以修改的,格式为 print(数据1, 数据2, 数据3, …, sep=分隔符)
一定要写成sep=数据值的形式, 否则解释器会将其解释为输出的内容之一 并不是分隔符
print(10, 11, 12, '+') # 10 11 12 +
print(10, 11, 12, sep='+') # 10+11+12
-
end='\n'
print('and') print('a\nd')
修改结束符
print(‘hello’, end=‘___’)
print(‘world’)知识点: 转义符\ 可以把一些字符绑定在一起修改成其他含义 比如**字符n结合\ 就形成换行** \n 换行符[回车键] **字符t结合\ 就形成制表符**[tab键] **字符u结合\ 就形成解读**unicode码的含义 就是把u后面的4个字符当做unicode进行解读【如果有这个unicode 就解读成对应的汉字 没有的话就解读失败 报错】 取消转义符的转义行为[形成一个普通的\] 如何操作??? + 方式1:再转义的基础上再转义 \\n + 方式2: Python中的方式 使用r修饰字符串 r'\n' 【推荐使用r修饰】 解读: 输出内容的结束符,每一个print输出内容的末尾都拼接了一个换行符 所以每次打印的结果都是独占一行的 修改换行符 格式 print(数据1,数据2,...数据n, end=结尾符)
4.file=sys.stdout
需求: 对其进行修改 将内容输出到一个文件中 【打开一个文件 在文件中编写内容】
-
根据对应的路径找到文件 然后打开
-
向文件中编写内容
-
关闭文件
使用代码如何打开控制一个文件 操作????
open(文件路径, 操作文件的模式, encoding=文件内容的编码)
文件路径
文件路径有两种表达形式,分别绝对路径和相对路径
绝对路径就是从盘开始到具体文件结束
C:\WorkContent\各班代课\SHJCPython2302\day02_变量与运算符\代码\test.txt
相对路径 【建议使用这个 一般使用这个路径的时候 文件都是在项目中】
C:\WorkContent\各班代课\SHJCPython2302\day02_变量与运算符\代码\Day02
他是有参照点,这参照点就是当前正在编辑的文件
相对路径有两个特殊的符号,分别是
. ==== 代表的是正在编辑的文件所在的当前文件夹 Day02
… ==== 代表的是正在编辑的文件所在的文件夹的上一级 代码
比如有一个路径为 .\demo.txt [在当前文件夹中有一个文件为demo.txt] 在Day02中
路径为 ..\demo.txt [在当前文件夹的上一级中有demo.txt] 在代码中
路径为 ..\..\demo.txt [在当前文件夹的上一级的上一级中有demo.txt] 在day02_变量与运算符中
路径为 ..\..\笔记\demo.txt
-
操作文件的模式
r — read 只读 代表读取路径对应的文件中的内容
w — write 只写 代表要向文件中写入内容[清空写]
路径对应的文件不存在 会先创建文件 再写入
但是如果文件存在 先清空 再写入
a — append 只写 代表要向文件中写入内容[追加写]
路径对应的文件不存在 会先创建文件 再写入
但是如果文件存在 在原来的基础上再末尾进行追加encoding=文件内容的编码
计算机以哪种编码形式处理文件中的数据
# 以只写的形式打开文件
demo_txt = open(r'.\demo.txt', 'a', encoding='utf-8')
# 项文件中写入内容 flush 是否刷新 快速写入
print('hello Python', file=demo_txt, flush=True)
# 关闭文件
demo_txt.close()
input
获取到的信息的类型都是字符串类型的
功能 input(输入信息的提示语)
这个功能会让程序暂停到这个位置 在控制台输入信息之后 结束输出 才会继续向下执行
在控制台上输入数据 点击回车就结束输入了 并把用户输入的数据传递到程序中
知识点:
不管输入什么格式的数据 在程序中获取到的信息的类型都是字符串类型的
二、缩进
语句:在语法能够自成体系的单元
编程语言中 语句结束的标记是分号 Python不建议加分号,建议形式是一条语句独占一行
一行中有多条语句 语句结束必须加分号
缩进:在一行语句开始的时候 不要随便添加缩进[空格或者tab键]
Python是使用缩进来体现包含的关系,如果是平级关系的话 上下是要对齐的
包含关系会在后面流程语句中讲解 比如分支 语句场景 如果达到某个条件就做某件事
三、变量
变量就是表示数据的字母符号[变量名],具有任意性和位置性,而且可以代替数据参与相应的运算
在Python编程语言中如何定义变量
变量=数据值
定义变量的时候字母符号不是随便乱写的,也是有相应的规则的
- 只能包含数字或者字母或者下划线
特殊:字母 — 所有国家的语言 英文字母 汉字 韩文 俄文等等
Python语言的处理数据的编码方式是UTF-8 【万国码】
起名字的时候 可以使用汉字 但是不建议使用 - 不能以数字开头
- 不能使用关键字和保留字
关键字:在Python语言定义好的具有特殊含义的单词 比如if
保留字:在Python语言中除了关键字 也是使用的一些名词 【使用这个定义不会报错 但是它会把原本Python定义好的功能给覆盖】
不是自己定义的名字 但是打字的时候却给提示出来的 全部不能直接使用的
定义的字母符号这种名字 称为标识符
四、关键字
Python官方封装了一个工具包 keyword 要使用指定的工具包 需要将工具包导入到程序中
格式 import 工具包名称 如:import keyword
使用其中的工具 工具包名称.工具名称 如:print(keyword.kwlist)
['False', 'None', 'True', '__peg_parser__', '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']
五、类型
类型(类)
按照数据的特征 将数据进行归类,对这一类的数据进行统一名词的描述
比如 人类、猴子、电脑
基本的数据类型
-
整数类型(int) — 整型
对所有整数的统一描述,定义这个类型的数据的时候 就和数学中的形式一样
一般来描述大小或者数量的 比如年龄 成绩
数据就是所有的正负整数 10 -10 0 17 100 -
浮点类型(float)
对所有小数的描述,为什么称为浮点??? 大型的数据可以使用科学计数法来表达 不同的表达形式 小数点的位置不一样
3e4 ====> 3*10^4
0.3e5 =====> 0.3 * 10^5
1.9e-3 =====> 1.9 * 10^-3 === 0.0019
所有的小数 比如圆周率 3.14 -
布尔类型(bool)
对逻辑结果数据的描述,因为逻辑结果要么成立 要么不成立,这个类型的值只有两个 分别True和False
-
字符串类型(str)
对文本数据的描述,描述姓名 性别 身份证号 手机号等等
需要对数据使用引号[单双都可以]包含 【目的:告知解释器 书写的是一段文本 怎么写的怎么呈现】字符串属于一个文本序列【有多个内容组成的一个容器】
字符串:有0个或者多个字符组合而成的 称为字符串
字符:长度为1的字符串称为字符 如: ‘吴’ ‘吴杰胜’
空字符串:‘’ [引号中没有包含任何内容] 【空的羊肉串签子】‘0’ 和 0 是一个内容吗????------------不是
区别1 类型不同
'0’是字符 是字符串类型的
0是一个整数
区别2 存储机制不同
0 是整数 === 直接转换为二进制存储
以32位电脑
0000 0000 0000 0000 0000 0000 0000 0000
‘0’ 字符 ====> 与其映射十进制数据 =====> 二进制
‘0’ === 48 ==== 1个字节 [0011 0000] -
空类型(NoneType)
空类型(NoneType)
只有一个值,为空值None [代表什么都没有] 【与空字符串的区别是 空字符串是一个空箱子 但是None是箱子也没有】
类和对象
类:按照数据的特征 将数据进行归类,对这一类的数据进行统一名词的描述
对象:就是该类下具体的实实在在存在的实物 比如 int 整型 10 对象
获取数据类型 type(变量/数据)
print(10 + 20)
print('10 + 20')
# 年龄 起名字的时候最好见名知意
age = 21
# 获取数据类型 type(变量/数据)
print(type(age)) # <class 'int'>
# Python是动态类型的数据 变量的具体类型是由值来决定的
age = 21.5
print(type(age)) # <class 'float'>
# 是否通过
has_pass = False
print(type(has_pass)) # <class 'bool'>
# 空值
none = None
print(type(none)) # <class 'NoneType'>