Python 中的输出函数
print()函数
- 此函数可以直接使用
- 过程:向计算机发出指令,打印函数内的参数 -> 把代码编译成计算机能听懂的语言 -> 做出相应的执行,在控制台上输出结果
将数据输出到文件中
-
所指定的盘符要存在
-
使用 file= 输出的文件对象
-
fp = open('D:/text.txt', 'a+') -> a+表示 如果文件不存在就创建,存在就在文件内容的后面继续追加 print('hello world', file= fp) -> 注意输出到的文件前面要用file= fp.close() -> 关闭文件流
标识符与保留字
// 查看关键字列表
import keyword
print(keyword.kwlist)
数据类型
-
整数类型 ->
int
-
浮点数类型 ->
float
浮点数存储不精确性:使用浮点数进行计算时,可能会出现小数位数不确定的情况
n1 = 1.1 n2 = 2.2 print(n1 + n2) -> 3.300000000000000003 出现这种情况是因为 计算机采用二进制存储
解决方案:导入模块 decimal
from decimal import Decimal print(Decimal('1.1')+Decimal('2.2')) -> 3.3
-
布尔类型 ->
bool
-
字符串类型 ->
str
称为不可变的字符序列
可以使用单引号、双引号、三引号来定义
str1 = 'pyhton1' str2 = "python2" str3 = '''python3''' = ''' python3 ''' 注意: 单引号和双引号定义的字符串必须在一行 三引号定义的字符串可以分布在连续的多行
数据类型转换
函数名 | 作用 | 注意事项 | 例子 |
---|---|---|---|
str() | 将其他数据类型转成字符串 | 也可以用引号转换 | str(123) str('123') |
int() | 将其他数据类型转成整数 | 文字和小数类无法转化成整数 | int('123') int(9.8) |
float() | 将其他数据类型转成浮点数 | 文字无法转换成整数、整数转换成浮点数,末尾为.0 | float('9.9') float(9) |
python 中的注释
通常包括三种类型的注释:
-
单行注释 -> 以 ’#’ 开头,直到换行结束
-
多行注释 -> 将一对三引号之间的代码称为多行注释
-
中文编码声明注释 -> 在文件开头加上中文声明注释,用以指定源码文件的编码格式
# coding: gbk -> 中文编码声明注释
输入函数
输入函数 -> input(),返回值是str
类型
answer = input('你想要啥?')
钱 -> 此时控制台就会输出‘钱’,类似于Java中的String.next()
运算符
print(1 + 1) # 加法运算
print(1 - 1) # 减法运算
print(2 * 4) # 乘法运算
print(11 / 2) # 除法运算
print(11 // 2) # 整除运算
print(11 % 2) # 取余运算
print(2 ** 3) # 幂运算
-------------------------------
取余运算 -> 一正一负要遵循 余数=被除数-除数*商(这里的商向下取整,变相印证了整除运算) -> 9 % -4 -> 9-(-4)*(-3)
print(17 % -5) -> 17-(-5)*(17/-5且向下取整) = 17-(-5)*(-4) = -3,控制台验证正确
整除运算 -> 一正一负,向下取整 -> 9 // -4 = -2.几,向下取整 = -3
赋值运算符
- 执行顺序: 右 -> 左
- 支持链式赋值:a = b = c = 20
- 支持参数赋值:+=、-=、*=、/=、//=、%=
- 支持系列解包赋值:a,b,c = 20,30,40
a,b = 20,30,40 -> 报错,因为左右变量的个数和值的个数不对应
交换值
a,b = 20,30
a,b = b,a
print(a,b) -> 30,20
比较运算符
对变量或表达式的结果进行大小、真假等比较
值得注意的是
== -> 对象 value(值)的比较
is, is not -> 对象的 id(标识)的比较
a = 10
b = 10
print(a == b) #True -> 说明a与b的值相等
print(a is b) #True -> 说明a与b的标识相等

布尔运算符
- and -> 两个运算数都为 True,结果才为 True
- or -> 只要有一个运算数为 True,结果就为 True
- not -> 取反
- in -> 查看某个字符在不在字符串内,在为 true
- not in -> 查看某个字符在不在字符串内,不在为 false
位运算符
将数据转成二进制进行计算
-
按位与 & -> 对应数位都是 1,结果才是 1,否则为 0
-
按位或 | -> 对应数位都是 0,结果才是 0,否则为 1
-
左移位运算符 << -> 高位溢出舍弃,低位补 0(左移可以看成向高位数走,所以高位溢出舍弃)
左移一位(向高位走),相当于乘以 2
-
右移位运算符 >> -> 低位溢出舍弃,高位补 0(右移可以看成向低位数走,所以低位溢出舍弃)
右移一位(向低位走),相当于除以 2
print(4<<1) #向左移动1位 -> 8
print(4>>1) #向右移动1位 -> 2
运算符的优先级
- 先乘除后加减,有幂运算先算幂运算
- 位运算
- 比较运算符
- 布尔运算
- 赋值运算
对象的布尔值
Python 一切皆对象,所有对象都有一个布尔值
获取对象的布尔值 -> 使用内置函数
bool()
以下对象的布尔值为 false(类似 JavaScript 中的五大假值),除此外其余布尔值都为 true
- False
- 数值 0
- None
- 空字符串
- 空列表
- 空元组
- 空字典
- 空集合
多分支结构
score = int(input('输入成绩:'))
#多分支结构
if score >= 90 and score <= 100:
print('优秀')
elif score >= 60 and score <= 89:
print('良好')
else:
print('不及格')
pass 语句
pass 语句什么都不做,只是一个占位符,用在语法上需要语句的地方
作用:搭建语法结构
#判断是否是会员
if answer == 'y':
pass
else:
pass
range()函数
-
用于生成一个整数序列
-
创建 range 对象的三种方式
1.range(stop) -> 创建一个[0,stop)之间的整数序列,步长为1 2.range(start,stop) -> 创建一个[start,stop)之间的整数序列,步长为1 3.range(start,stop,step) -> 创建一个[start,stop)之间的整数序列,步长为step
-
返回值是一个迭代器对象
r = range(10) print(r) #输出 range(0,10),数值范围为[0,10) print(list(r)) #输出 [0,1,2,3,4,5,6,7,8,9], list(range对象)用于查看range对象中的整数序列
-
所有 range 对象占用的内存空间都是相同的,只有当用到 range 对象时,才会去计算序列中的相关元素
-
in 与 not in 判断整数序列是否存在(不存在)指定的整数
print(10 not in r) #True
print(11 in r) #Flase
循环结构
- while(判断 N+1 次,条件为 True 执行 N 次)
- for - in
for 自定义变量 in 可迭代对象:
循环体
for i in 'Python':
print(i)
# 输出 P y t h o n
# 如果在循环体中不需要使用到自定义变量,可将自定义变量写为'_'
for _ in range(5):
print('python')
# 输出 python*5