所有的符合都为英文状态下输入
- 输出函数 print()
- print()函数输出的内容:
- 可以是数字,字符串,含有运算的表达式.
- print()函数可以输出的目的.
- 显示器 (默认)
- 文件 (使用'open'和'file')
- 比如:
- fp=open('h:o.txt','a+')#打开 h 盘中的 o.txt,'a+'如果没有就创建一个.
- print('hellwork',file=fp)#把 hellwork 输出到‘l’这个指令下.
- fp.close()#关闭.
- print()函数输出的形式.
- 换行. (默认)
- 不换行. (用逗号隔开)
- 比如:
- print('hell','minecraft','hmcl')
- 为什么需要转义字符?
- 当字符串中包含反斜杠,单引号和双引号等特殊用途的字符时,必须有 \ 对这些字符进行转义(转换一个含义)
- 反斜杠:\
- 比如:
- print('http:\\www.blibli.com')#两个反斜杠只会输出一个
- .>>>'http:\www.blibli.com *单引号:'
- 比如:
- print('我说:'你们好'')#把反斜杠后的 ' 当字符串输出
- .>>>我说:'你们好'
- 双引号:"
- 当字符串中包括换行,回车,水平制表符或退格等无法直接表示的特殊字符时,也可以使用转义字符串中包括换行,回车,水平制表符或退格等无法直接表示的特殊字符时,也可以使用转义字符
- 换行:\n
- 比如:
- print('hello\nwold')#\加 n n>newline 的首字符表示换行
- .>>>
- hello
- world
- 回车:\r
- 比如:
- print('hello\rworld')#world 覆盖了 hello
- .>>>world
- 水平制表符:\t (它会把字符串 4 个 4 个封装)
- h e l l/ o /w o r l/d
- 退格:\b
- 比如:
- print('hello\bworld')#\b 退一格,把 o 退没了
- .>>>hellworld
- 变量
- 变量是内存中带标记的盒子.
- 变量可以被重新复值.
- 比如:a=fk
- print(a)
- .>>>fk
- a=nb
- print(a)
- .>>>nb
- 数据类型
- 使用 type 查看
- 比如:fk=80
- print(type(fk))
- .>>>int
- 常用典数据类型
- 整数>int>1
- 可以表示所有整数,和 2 10 16 8 10 进制
- 浮点>float>3.1415926
- 浮点数,整数和小数部分组成
- 直接使用浮点数计算会出 BUG
- 比如:
- print(1.1+2.2)
- .>>>3.3000000000000003
- 使用 decimal 模块解决
- 比如:
- from decimal import decimal
- print(decimal(1.1)+decimal(2.2))
- .>>>3.3
- 布尔>bool>true/fales
- 用来表示真和假
- True 真,False 假
- 也可以用整数表示
- True>1
- False>0
- 字符串>str>'py 牛鼻'
- 字符串有别成为不可变的字符序列
- 可以使用'单引号'"双引号"等来定义
- 单,双引号定义的字符串必须在一行
- 比如:
- print('001,002')
- print("001,002")
- .>>>
- 001,002
- 001,002
- 三引号定义的字符串可以在连续的多行
- 比如:
- print("""001
- 002""")
- .>>>
- 001
- 002
- 数据类型转换
- 将不同类型的数据拼接在一起
- 转换方法
- 使用算机数据类型的英文名+(需要转换的数据)
- 比如:f1='5'
- f2=3
- print(int(f1)+f2)#把 f1 的字符串转换成整数再加上 f2
- 输入函数 input()
- 使用方法
- 变量名+input+(+问题)
- 比如:
- fk=input('你想吃什么')
- print(fk)
- .>>>你想吃什么
- <<<辣子加馍
- .>>>辣子加馍
- python 中的运算符
- .+ 加
- . 减
- .* 乘
- / 除
- // 真除
- 比如:print(11//2)
- .>>>5
- 符号不同时向下取整
- 比如:
- print(9// 4)
- .>>> 3
- % 取余
- 比如:
- print(11%2)
- .>>>1
- .** 次方
- 比如:
- print(2**3)
- .>>>8
- 复值运算符
- 链式复值
- 比如:
- a=b=c=857
- print(a)
- print(b)
- print(c)
- .>>>857
- .>>>857
- .>>>857
- 系列解包复值
- 比如:
- a,b,c=1,2,3
- print(a)
- print(b)
- print(c)
- .>>>1
- .>>>2
- .>>>3
- 交换值
- 比如:
- a,b=1,2
- a,b=b,a
- print(a,b)
- .>>>2,1
- 比较运算符
- 比如:
- a=1
- b=2
- print(a>b)
- .>>>False
- 布尔运算符
- and 只要有一个 false 就输出 False
- or 只要有一个 True 就输出 True
- not 取反
- in 查找
- not in 查找取反
- 使用方法
- pritn(比较 a+运算符+比较 b)
- 位运算
- 把数据转换成二进制进行计算
- 位与&:相对应的数位都是 1 结果才会是 1,否则为 0
- 位或 l:相对应的数位都是 0 结果才会是 0,否则为 1
- 左移运算符>>:高位溢出舍弃,低位补 0
- 右移运算符<<:低位溢出舍弃,高位补 0
- 运算优先级
*0 括号 1 算数运算 2 位运算 3 比较运算 4 布尔运算 5 复值
- 代码的结构
- 1 顺序结构
- 代码一行一行的按顺序执行
- (
- 对象的布尔值
- python 一切的对象都有一个布尔值
- 以下对应的布尔值为 False
- False
- None
- 空字符串
- 空列表
- 空元组
- 空字典
- 空集合
- )
- 2 选择结构
- 明确计算机知道在什么条件下,该去做什么
- 单分支结构
- 中文:如果...就...
- 语法结构:if 条件表达式:
- 条件执行体
- 双分支结构
- 中文:如果...就...不满足就...
- 语法结构:if 条件表达式:
- 条件执行体 1
- else:
- 条件执行体 2
- 多分支结构:语法结构:if 条件表达式 1:
- 条件执行体 1
- elif 条件表达式 2:
- 条件执行体 2
- elif 条件表达式 n:
- 条件执行体 n
- 3pass
- 用来占位,不让程序报错
- 函数 range()
- 用来生成一个整数序列
- 使用方法
- 1:range(数字 A)#创建一个 0 到数字 A 步长为 1 的整数序列
- 2:range(数字 B,数字 A)#创建一个数字 B 到数字 A 步长为 1 的整数序列
- 3:range(数字 B,数字 A,数字 C)#创建一个数字 B 到数字 A 步长为数字 C 的整数序列
- 比如:
- fk=range(1,100,2)
- print(list(fk))#输出要输出成列表
- .>>>[1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99]
- while 循环
- 语法:while 条件表达式:
- 循环体
- for 循环
- 语法:for 变量名 in 循环体/变量/列表:
- 如果变量名位下划线那么会循环下面的代码
- 比如:
- for _ in range(2):
- print('阿巴')
- .>>>阿巴
- 阿巴
- 流程控制语句
- 1 break
- 结束循环
- 2 continue
*结束当前循环,进入下一个循环
- 嵌套循环
- 把两个循环嵌套在一起,一个循环的循环体为另一个循环
- 列表
- 列表内可以存储 N 中不同类型的元素
- 列表到创建
- 1 列表需要使用中括号[],元素之间用逗号隔开
- 2 创建的方法
- (1)使用中括号
- 比如:
- ld=['hello','123']
- print(ld)
- .>>>['hello','123']
- (2)调用函数:list()
- 比如:
- ld=list(['hello','123'])
- print(ld)
- .>>>['hello','123']
- 列表的特点
- 1 列表元素按顺序有序排列
- 2 索引映射唯一,一个数据
- 3 列表内可以放重复的数据
- 4 可以存储任意数据类型
- 列表的索引
- 1 正索引:从 0 开始指向右
- 2 负索引:从 1 开始指向左
- 3 查找函数 index()
- 比如:
- lb=['hello','world','hello']
- print(lb,index('hello'))#输出‘hello’的信息
- pritn(lb,index('hello',1,2))#在 0 1 之间查找‘hello’并且输出它的信息
- .>>>0
- .>>>2
- 4 获取列表中单个的元素
- print(列表名,[元素的索引])
- 列表切片
- 切出来的列表是一个新的列表
- print(列表名[开头:结尾:步长]) 【步长默认为 1 可以不写,开头默认为 0 可以不写】
- 当步长为负,会从右向左输出。
- 判断目标是否在列表中
- in/not in----------在/不在
- 目标 in/not in 列表名 #目标在/不在列表中吗?
- 修改列表中的元素
- 1 append() 【向末尾添加一个元素】
- l.append(2333) #向 l 列表末尾添加 2333 这个元素
- extend() 【在列表末尾添加多个元素】
- insert() 【在列表的某个位置插入一个元素】
- l.insert(1,2333) #在索引为 1 的地方插入 2333 这个元素
- remove() 【删除括号中的元素(1 个)如果有相同则删除第一个】
- pop() 【删除指定索引的那个元素 (默认我找一个元素可以不写)】
- l.pop(1) #删除列表 l 中,索引我 1 的元素
- clear() 【清空列表】
- del 【删除列表】
- del l #删除 l 这个列表
- 更改列表中的元素
- 1 列表名[索引]=新的值
- 2 列表名[切片]=[新的值,新的值,新的值]
- 列表排序
- sort() 【默认为升序,在括号来加上reverse=True后为降序,不产生新的列表】
- sorted() 【默认为升序,在括号来加上reverse=True后为降序,产生新的列表】
- 新的列表名=sorted(目标列表,参数)
- 列表生成式
- 列表名=[变量计算式 for 变量 in range(n,n)]
- 字典是一种可变序列
- 结构: {建:值,建:值,建:值} #元素之间由逗号隔开,它是一个无序的序列
- 创建字典
- 1 直接创建
- 2 使用dict()创建
- 比如:
- zd=dict(1=2,3=4) #创建字典负值给变量 zd
- print(zd)
- .>>>{1:2,3:4}
- 字典内值的查找
- 1 字典名[目标建]
- 2 字典名.get(目标建,自定义报错内容默认为None)
- 字典的常规操作
- 判断
- in/not in 【在/不在】
- 语法:目标建 in/not in 字典名
- 删除
- del 字典名[目标建] #删除一个目标
- 字典名.clear() #清空字典
- 添加/修改(修改的是值不是建)
- 字典名[建]=值
- 获取字典的视图
- 1 keys() 获取建
- 2 values() 获取值
- 3 items() 我全都要
- 字典名.items()/items()/keys()
- 元组是不可变序列
- 结构: (元素,元素,元素) #元素之间有 , 隔开
- 创建元组
- 1 直接创建 #如果元组里只有一个元素,要在它后面加上 ,
- 2 使用tuple()创建
- tuple((元素,元素,元素)) #创建一个包含3个元素的元组
- 元组的遍历
- 使用索引
- 集合是可变序列
- 结构{元素,元素,元素} #数据结构与字典相同,不能重复,无序
- 集合的创建
- 1 直接创建
- 2 使用set()创建
- set()会把括号里的元素转换成元组
- 集合常规操作
- 判断
- in/not in 【在/不在】
- 语法:目标 in/not in 集合名
- 添加元素
- add()添加一个元素
- j.add(233) #吧233这个元素添加到集合j
- update()添加多个元素
- j.update({元素,元素,元素}) #吧三个元素添加到集合j【数据类型哈都行】
- 删除元素
- remove() 删除一个元素不存在报错
- discard() 删除一个元素不存在不报错
- pop() 随机删一个【括号里不能填东西】
- clear() 清空
- 集合之间的关系
- 1 只要两个集合内容相等,那它们就相等 #==/!=来判断
- 2 如果 a 集合里包含 b 集合那 b 是 a 的子集合 #issubset来判断【b.issubset(a)】
- 3 如果两个集合有一样的元素,那它们有交集 #isdisjonint来判断【它的中文是判断集合之间是否没有交集,所以有交集为falss】
- 交集
- 吧相同的提取出来
- 方法:集合a & 集合b 或者 集合a.intersection(集合b)
- 合并
- 吧两个集合合并为一个
- 方法:集合a | 集合b 或者 集合a.union(集合b)
- 差集
- 两集合相减
- 方法:a-b
- 对称差集
- 吧两集合相同的干掉,留下不同的
- 方法:a^b