【Python在校课堂笔记】Python第1节课 【课下总结】

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())

三 不同数字类型的计算的时候会自动转换类型

当数据类型不相同时,应该按照一定的优先级提升类型

python 复制代码
int < float < complex < bool

老师举了 int 与 float之间计算的时候的自动类型转换

python 复制代码
a = int (input())
b = float (input())
print( a + b )
'''
输入 10 2.567
打印 12.567
'''

四 print 控制打印的 总宽度 与 小数位数

注意

当设限宽度 > 实际宽度 的时候,打印时空格补充 ,如果设限宽度前面写0,则0补充

设置小数位数的时候,打印结果会进行四舍五入

1. 第一种

  • 控制小数位数:

    保留小数的时候会进行四舍五入

    python 复制代码
    num = 1.23456
    print(f"{num:.3f}")  # 输出:1.235
    print(f"{num:.1f}")  # 输出:1.2
  • 控制整数宽度:

    1. 加0可补0
    2. 大于小于 是 右对齐左对齐
    python 复制代码
    num = 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
  • 同时控制宽度和小数位数:

    1. 会进行四舍五入
    2. 所设宽度包含小数点,也就是小数点也算作一位,Eg: 1.234是五位
    3. 同样,当设限宽度 < 实际宽度 时,依然保持原宽度
    4. 左右对齐在控制小数的时候依然有效
    python 复制代码
    num = 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方法提供更灵活的格式化选项。

  • 控制小数位数:

    保留小数的时候会进行四舍五入

    python 复制代码
    num = 1.23456
    print("{:.3f}".format(num))  # 输出:1.235
    print("{:.1f}".format(num))  # 输出:1.2
  • 控制整数宽度:

    1. 加0可补0
    2. 大于小于 是 右对齐左对齐
    python 复制代码
    num = 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
  • (注意)同时控制宽度和小数位数:

    1. 会进行四舍五入
    2. 所设宽度包含小数点,也就是小数点也算作一位,Eg: 1.234是五位
    3. 同样,当设限宽度 < 实际宽度 时,依然保持原宽度
    4. 左右对齐在控制小数的时候依然有效
    python 复制代码
    num = 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++ 好像

使用百分号格式化的时候,左右对齐就不是<和>了

  • 左对齐 - 加负号

    python 复制代码
    print("%-04d" % num)  # 输出:7000
  • 右对齐 - 不加任何多余的字符,+也不能加,如果加上,表示就是 字符+的原样打印

    python 复制代码
    print("%4d" % num)  # 输出:   0007
    print("%+4d" % num)  # 输出:  +007
  • 控制小数位数:

    保留小数的时候会进行四舍五入

    python 复制代码
    num = 1.23456
    print("%.2f" % num)  # 输出:1.23
    print("%.3f" % num)  # 输出:1.235
  • 控制整数宽度:

    1. 加0可补0
    2. 大于小于 是 右对齐左对齐

    使用百分号格式化的时候,左右对齐就不是<和>了

    • 左对齐 - 加负号

      python 复制代码
      print("%-04d" % num)  # 输出:7000
    • 右对齐 - 不加任何多余的字符,+也不能加,如果加上,表示就是 字符+的原样打印

      python 复制代码
      print("%4d" % num)  # 输出:   0007
      print("%+4d" % num)  # 输出:  +007
    python 复制代码
    num = 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
  • 同时控制宽度和小数位数:

    1. 会进行四舍五入
    2. 所设宽度包含小数点,也就是小数点也算作一位,Eg: 1.234是五位
    3. 同样,当设限宽度 < 实际宽度 时,依然保持原宽度
    4. 左右对齐在控制小数的时候依然有效
    python 复制代码
    num = 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 会将它解释为元组,应该是一行一行去赋值,或者用另一种方法

  • 错误写法

    python 复制代码
    year = 2025, month = 2, day = 28 
  • 正确写法1

    python 复制代码
    year = 2025
    month = 2
    day = 28
  • 正确写法2

    python 复制代码
    year, month, day = 2025, 2, 28
相关推荐
一隅论数智5 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
默_笙5 天前
🍙 给每个请求过安检:FastAPI 是怎么把校验写进类型注解的
python
小羊没烦恼!5 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
qq_426003965 天前
启动playwright录制codegen生成自动化测试脚本
python·自动化
虎头金猫5 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
长沙三为智能科技5 天前
家政小程序开发从0到上线:五阶段交付流程与验收清单
python
伞伞悦读5 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
只睡四小时5 天前
Canvas 弹道联机实战:700 行 + 固定时间步长
python·websocket·html5·游戏开发·canvas
C语言小火车5 天前
C/C++ 为什么需要编译器?
开发语言·c++
深圳老胡5 天前
STM32F407 控制 L6470 步进电机驱动 —— 控制过程简介
笔记·stm32·单片机·嵌入式硬件·代码规范