输入输出
输入input()
使用方法:
变量 = input(value)
输入的类型为字符串类型,涉及计算需要转换类型。
输出print
输出数字、字符串、表达式
输出到指定文件
fp = open('D:/test.txt', 'a+')
print('helloworld', file=fp)
fp.close()
# a+ 表示如果没有该文件则新建一个,如果有就在该文件里面追加内容
# 写入时需使用 file=fp
转义字符
格式:反斜杠加上想要实现反义的符号或功能首字母
\n:换行\t:四个空格\r:覆盖前文\b:后退一个格
原字符
不希望字符串的转义字符起作用,在字符串前加上r或R
!注意:最后一个字符不能是反斜杠,除非有转义
print('hello') 错误
print('hello') 正确
数据类型
整数类 int
表示正数、负数、0
可以表示为二进制(0b开头),十进制(默认表现形式),八进制(0o开头),十六进制(0x开头)
浮点类 float
由整数部分和小数部分组成
特点:存储不精确。可能存在小数位数不确定情况
解决方法:导入模块decimal
from decimal import Decimal
print(Decimal(value))
布尔类 boolean
值为False/True
布尔值可以转为整数计算,True 为1,False 为0
字符串类型
单引号和双引号只能在一行出现
三引号可以实现换行
数据转换
str():将其他类型转为字符串。int():将其他类型转成整数;文字类和小数类无法转为整数,浮点数抹零取整float():文字类无法转;整数类末尾添0
运算符
算数运算符
| 符号 | 含义 | 符号 | 含义 |
|---|---|---|---|
| + | 加法 | - | 减法 |
| * | 乘法 | / | 除法 |
| // | 整除运算 | ** | 幂运算 |
| % | 取余运算 |
赋值运算符
- 运算顺序从右到左
- 支持链式赋值
- 支持参数赋值
- 支持解包赋值
a,b,c = 20,30,40
print(a,b,c) # 20,30,40
# 还可以交换变量
a,b,c = a,c,b
print(a,b,c)# 20,40,30
比较运算符
| 符号 | 含义 | 符号 | 含义 |
|---|---|---|---|
| 大于 | < | 小于 | |
| != | 不等于 | == | 等于(比较value) |
| is | 比较标识(id) | is not | 比较标识(id) |
| >= | 大于等于 | <= | 小于等于 |
# is 、is not 示例
num1 = 11
num2 = 12
num3 = 12
print(num1 is num2) # false
print(num2 is num3) # true
print(num1 is not num3) # true
布尔运算符
| 运算符 | 运算含义 | 运算结果 |
|---|---|---|
| and | 和 | 两个运算数为true时 结果才是true |
| or | 或者 | 两个运算数一个为true时,结果就是true |
| not | 置反 | 如果运算数为true,则结果为false;如果运算数为false,则结果为true |
| in | 检查是否存在 | 存在则结果为true,不存在则结果为false |
| not in | 检查是否不存在 | 结果与上面相反 |
位运算符
| 符号 | 含义 | 符号 | 含义 | |
|---|---|---|---|---|
| 位与& | 对应数位都是1,结果数位才是1,否则是0 | 位或 | 对应数位都是0,结果数位才是0,否则是1 | |
| 左移位<< | 高位溢出舍弃,低位补0 | 右移位>> | 低位溢出舍弃,高位补0 |
符号优先级
** > *、/、//、% > +、- > <<、>> > & > | > >、 < 、>=、<=、==、!= > and > or> =
先算运算,再算比较