2025 - 02 - 28 - 第 63 篇
Author: 郑龙浩 / 仟濹
【Python在校课堂笔记】
Python第1节课 【课下总结】
2025-02-27上课
写这篇笔记不仅仅为了写作业,也是想总结一下本节课的内容加深印象,同时发布博客方便复习。
一 print()
的多种使用
1 直接打印 字面量(常量)
python
print( 2025, 2, 28 )
print( 2025, 2, 28, sep = '/' )
print( 2025, 2, 28, sep = '' )
2 使用变量
python
year = 2025
month = 2
day = 28
print( year, month, day )
# 可自定义分隔符,写什么都可以
print( year, month, day, sep = '/')
# 如果'',则表示无任何字符,也就是空格符为无
print( year, month, day, sep = '')
# 两种方法
print( '%d年%d月%d日' % (year, month, day) )
print(f'{year}年{month}月{day}日')
打印结果
python
2025 2 28
2025/2/28
2025228
2025年2月28日
2025年2月28日
3 原样打印
不可在使用引号的同时在内部使用相同的引号
python
print( "AA说:"5445315"" ) # 这时候会出问题,会报错,这是不合法的
应该是
python
print( '''AA说:"5445315"''' ) # 正确
print( 'AA说:"5445315"' ) # 正确
二 接受数据, 类型转换, 赋值
1 input()
input
可用于接收字符串,如果输入的是数字,比如123,也不是数值,而是字符串"123"
python
a = input()
print( a )
python
输入 #你好
打印 #你好
在输入的时候可以打印提示
之前用C 或 C++写的时候,每次提示,都要再打印一遍,Python不需要,可以 用 input 直接提示
python
a = int(input('请输入一个整数:'))
print( a )
2 类型转换
可转换为 int, float, bool
等
python
a = int (input())
b = int (input())
print( a + b )
3 eval
使用 eval
可以自动匹配类型
python
a = eval (input())
三 不同数字类型的计算的时候会自动转换类型
当数据类型不相同时,应该按照一定的优先级提升类型
pythonint < float < complex < bool
老师举了 int 与 float
之间计算的时候的自动类型转换
python
a = int (input())
b = float (input())
print( a + b )
'''
输入 10 2.567
打印 12.567
'''
四 print 控制打印的 总宽度 与 小数位数
注意
当设限宽度 > 实际宽度 的时候,打印时空格补充 ,如果设限宽度前面写0,则0补充
设置小数位数的时候,打印结果会进行四舍五入
1. 第一种
-
控制小数位数:
保留小数的时候会进行四舍五入
pythonnum = 1.23456 print(f"{num:.3f}") # 输出:1.235 print(f"{num:.1f}") # 输出:1.2
-
控制整数宽度:
- 加0可补0
- 大于小于 是 右对齐左对齐
pythonnum = 7 print(f"{num:4d}") # 输出: 7 print(f"{num:>4d}") # 输出: 7 print(f"{num:<4d}") # 输出: 7 print(f"{num:04d}") # 输出: 0007 print(f"{num:>04d}") # 输出:0007 print(f"{num:<04d}") # 输出:7000
-
同时控制宽度和小数位数:
- 会进行四舍五入
- 所设宽度包含小数点,也就是小数点也算作一位,Eg: 1.234是五位
- 同样,当设限宽度 < 实际宽度 时,依然保持原宽度
- 左右对齐在控制小数的时候依然有效
pythonnum = 1.23456 print(f"{num:6.3f}") # 输出: 1.235 print(f"{num:>6.3f}") # 输出: 1.235 print(f"{num:<6.3f}") # 输出: 1.235 print(f"{num:06.3f}") # 输出: 01.235 print(f"{num:>06.3f}") # 输出: 01.235 print(f"{num:<06.3f}") # 输出: 1.2350
2. 第二种 - 使用format方法
format方法提供更灵活的格式化选项。
-
控制小数位数:
保留小数的时候会进行四舍五入
pythonnum = 1.23456 print("{:.3f}".format(num)) # 输出:1.235 print("{:.1f}".format(num)) # 输出:1.2
-
控制整数宽度:
- 加0可补0
- 大于小于 是 右对齐左对齐
pythonnum = 7 print("{:4d}".format(num)) # 输出: 7 print("{:>4d}".format(num)) # 输出: 7 print("{:<4d}".format(num)) # 输出: 7 print("{:04d}".format(num)) # 输出: 0007 print("{:>04d}".format(num)) # 输出:0007 print("{:<04d}".format(num)) # 输出: 7000
-
(注意)同时控制宽度和小数位数:
- 会进行四舍五入
- 所设宽度包含小数点,也就是小数点也算作一位,Eg: 1.234是五位
- 同样,当设限宽度 < 实际宽度 时,依然保持原宽度
- 左右对齐在控制小数的时候依然有效
pythonnum = 1.23456 print("{:6.3f}".format(num)) # 输出: 1.235 print("{:>6.3f}".format(num)) # 输出: 1.235 print("{:<6.3f}".format(num)) # 输出: 1.235 print("{:06.3f}".format(num)) # 输出: 01.235 print("{:>06.3f}".format(num)) # 输出:01.235 print("{:<06.3f}".format(num)) # 输出:1.2350
3. 第三种 - 使用百分号格式化 - 和 C/C++ 好像
使用百分号格式化的时候,左右对齐就不是
<
和>
了
左对齐 - 加负号
pythonprint("%-04d" % num) # 输出:7000
右对齐 - 不加任何多余的字符,
+
也不能加,如果加上,表示就是 字符+
的原样打印
pythonprint("%4d" % num) # 输出: 0007 print("%+4d" % num) # 输出: +007
-
控制小数位数:
保留小数的时候会进行四舍五入
pythonnum = 1.23456 print("%.2f" % num) # 输出:1.23 print("%.3f" % num) # 输出:1.235
-
控制整数宽度:
- 加0可补0
- 大于小于 是 右对齐左对齐
使用百分号格式化的时候,左右对齐就不是
<
和>
了-
左对齐 - 加负号
pythonprint("%-04d" % num) # 输出:7000
-
右对齐 - 不加任何多余的字符,
+
也不能加,如果加上,表示就是 字符+
的原样打印pythonprint("%4d" % num) # 输出: 0007 print("%+4d" % num) # 输出: +007
pythonnum = 7 print("%4d" % num) # 输出: 7 print("%+4d" % num) # 输出: +7 print("%-4d" % num) # 输出: 7 print("%04d" % num) # 输出: 0007 print("%+04d" % num) # 输出:+007 print("%-04d" % num) # 输出:7000
-
同时控制宽度和小数位数:
- 会进行四舍五入
- 所设宽度包含小数点,也就是小数点也算作一位,Eg: 1.234是五位
- 同样,当设限宽度 < 实际宽度 时,依然保持原宽度
- 左右对齐在控制小数的时候依然有效
pythonnum = 1.23456 print("%6.3f" % num) # 输出: 1.235 print("%+6.3f" % num) # 输出: +1.235 print("%-6.3f" % num) # 输出: 1.235 print("%06.3f" % num) # 输出: 01.235 print("%+07.3f" % num) # 输出: +01.235 print("%-06.3f" % num) # 输出: 1.235
五 我遇到的给变量赋值问题
因为以前写代码使用的是 C/C++ 所以写 Python 的时候总会带一些以前的习惯
刚开始我连续定义三个变量的时候,写成了一行,然后 PyCharm 给我报错了,我查了一下才知道,Python 中并不能将三个变量同时赋值,Python 会将它解释为元组,应该是一行一行去赋值,或者用另一种方法
-
错误写法
pythonyear = 2025, month = 2, day = 28
-
正确写法1
pythonyear = 2025 month = 2 day = 28
-
正确写法2
pythonyear, month, day = 2025, 2, 28