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

2025 - 02 - 28 - 第 63 篇
Author: 郑龙浩 / 仟濹
【Python在校课堂笔记】

Python第1节课 【课下总结】

2025-02-27上课

写这篇笔记不仅仅为了写作业,也是想总结一下本节课的内容加深印象,同时发布博客方便复习。

print() 的多种使用

1 直接打印 字面量(常量)

print( 2025, 2, 28 )
print( 2025, 2, 28, sep = '/' )
print( 2025, 2, 28, sep = '' )

2 使用变量

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}日')

打印结果

2025 2 28
2025/2/28
2025228
20252282025228

3 原样打印

不可在使用引号的同时在内部使用相同的引号

print( "AA说:"5445315"" ) # 这时候会出问题,会报错,这是不合法的

应该是

print( '''AA说:"5445315"''' ) # 正确
print( 'AA说:"5445315"' ) # 正确

二 接受数据, 类型转换, 赋值

1 input()

input可用于接收字符串,如果输入的是数字,比如123,也不是数值,而是字符串"123"

a = input()
print( a )
输入 #你好
打印 #你好

在输入的时候可以打印提示

之前用C 或 C++写的时候,每次提示,都要再打印一遍,Python不需要,可以 用 input 直接提示

a = int(input('请输入一个整数:'))
print( a )

2 类型转换

可转换为 int, float, bool

a = int (input())
b = int (input())
print( a + b )

3 eval

使用 eval 可以自动匹配类型

a = eval (input())

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

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

int < float < complex < bool

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

a = int (input())
b = float (input())
print( a + b )
'''
输入 10 2.567
打印 12.567
'''

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

注意

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

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

1. 第一种

  • 控制小数位数

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

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

    1. 加0可补0
    2. 大于小于 是 右对齐左对齐
    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. 左右对齐在控制小数的时候依然有效
    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方法提供更灵活的格式化选项。

  • 控制小数位数

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

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

    1. 加0可补0
    2. 大于小于 是 右对齐左对齐
    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. 左右对齐在控制小数的时候依然有效
    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++ 好像

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

  • 左对齐 - 加负号

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

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

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

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

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

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

    • 左对齐 - 加负号

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

      print("%4d" % num)  # 输出:   0007
      print("%+4d" % num)  # 输出:  +007
      
    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. 左右对齐在控制小数的时候依然有效
    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 会将它解释为元组,应该是一行一行去赋值,或者用另一种方法

  • 错误写法

    year = 2025, month = 2, day = 28 
    
  • 正确写法1

    year = 2025
    month = 2
    day = 28
    
  • 正确写法2

    year, month, day = 2025, 2, 28
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/980122.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于Springboot博物馆文博资源库系统【附源码】

基于Springboot博物馆文博资源库系统 效果如下&#xff1a; 系统登陆页面 文物信息管理页面 流动申请页面 文物报修页面 个人信息页面 文物保修管理页面 系统主页面 文物类型页面 研究背景 随着信息技术的飞速发展&#xff0c;博物馆文博资源的管理与利用日益受到重视。传统…

在Linux环境下利用MTCNN进行人脸检测(基于ncnn架构)

概述 本文将详细介绍如何在Linux环境下部署MTCNN模型进行人脸检测&#xff0c;并使用NCNN框架进行推理。 1. CMake的安装与配置 下载CMake源码 前往CMake官网下载&#xff0c;找到适合您系统的最新版本tar.gz文件链接&#xff0c;或者直接通过wget下载&#xff1a;CMake官方…

Ruby 数组(Array)

一、参数 符号赋值数组对象 时&#xff0c;是指向同一个数组对象 eg: irb(main):019:0> a [] //定义一个数组 > [] irb(main):020:0> b a //将变量a赋值给b&#xff0c;a和b指向同个内存 > [] irb(main):021:0> a.object_id //a的对象id > 25204596 …

【无人机】无人机飞行日志下载及分析,飞行日志分析软件的使用

目录 一、飞行日志下载 1.1 通过地面站下载 1.1.1 QGroundControl&#xff08;QGC&#xff09;地面站 1.1.2 Mission Planner 地面站 1.2 通过内存卡读卡器下载 1.3 通过数传模块下载&#xff08;数传日志&#xff09; 二、飞行日志分析 2.1 使用 Flight Review 分析 …

Coredns延迟NodeLocalDNS解决之道

#作者&#xff1a;邓伟 文章目录 问题列表问题分析&#xff1a;问题分析解决方案详情方案验证部署步骤验证结论回滚方案回滚验证注意事项NodeLocalDNS介绍 问题列表 近来发现K8s频繁出现5s超时问题&#xff0c;业务反馈收到一定影响&#xff0c;问题包括&#xff1a; coredn…

由堆栈异常引发的一系列问题启发

文章目录 背景分析现象排查定位数据比对解决方案反思背景 背景:今天下午初始化经营体数据到预发环境,需要将生产环境的经营体表的数据同步到预发环境,同步结束后。再调用批量禁用接口,目的是将原来一级经营体【中国移动】下的所有经营体禁用掉,然后导入Excel文件将新的省…

[2/11]C#性能优化-不要使用空析构函数-每个细节都有示例代码

前言 在C#开发中&#xff0c;性能优化是提升系统响应速度和资源利用率的关键环节。 当然&#xff0c;同样是所有程序的关键环节。 通过遵循下述建议&#xff0c;可以有效地减少不必要的对象创建&#xff0c;从而减轻GC的负担&#xff0c;提高应用程序的整体性能。记住&#xf…

Llama-factory详细基础使用说明

最近很多小伙伴在使用llama-factory时遇到了不少问题&#xff0c;特别是基础不太好的童鞋&#xff0c;对各种参数或者webui界面的内容不理解&#xff0c;总是一会一个问题&#xff0c;网上大部分的教程&#xff0c;都只是教到能跑起来就行&#xff0c;对于细的调整没有做介绍&a…

excel单、双字节字符转换函数(中英文输入法符号转换)

在Excel中通常使用函数WIDECHAR和ASC来实现单、双字节字符之间的转换。其中 WIDECHAR函数将所有的字符转换为双字节&#xff0c;ASC函数将所有的字符转换为单字节 首先来解释一下单双字节的含义。单字节一般对应英文输入法的输入&#xff0c;如英文字母&#xff0c;英文输入法…

VS Code 如何搭建CC++开发环境

VS Code 如何搭建C/C开发环境 文章目录 VS Code 如何搭建C/C开发环境1. VS Code是什么2. VS Code的下载和安装2.1 下载和安装2.2 环境的介绍 3. VS Code配置C/C开发环境3.1 下载和配置MinGW-w64编译器套件3.2 安装C/C插件3.3 重启VS Code 4. 在VS Code上编写C语言代码并编译成功…

间隙波导阵列天线 学习笔记2 使用加载脊U型辐射层的一种Ka波段高效率圆极化卫星天线的发展

摘要&#xff1a; 本文提出了一种低剖面&#xff0c;高增益背腔槽阵列天线&#xff0c;基于RGW技术&#xff0c;工作在Ka频段。天线阵列包含两层。上层是一个U型槽阵列&#xff0c;在金属脊上腔体的位置上方&#xff0c;同时下层是RGW公共分布网络&#xff0c;给每个背腔槽等辐…

【软考-架构】1.1、计算机硬件-CPU校验码

GitHub地址&#xff1a;https://github.com/tyronczt/system_architect ✨资料&文章更新✨ 计算机硬件组成 中央处理单元 运算器 算术逻辑单元ALU&#xff08;实现对数据的算术和逻辑运算&#xff09;;累加寄存器AC&#xff08;运算结果或源操作数的存放区&#xff09;;数…

【Spring】Spring AOP原理

目录 前言 代理模式 静态代理 优缺点 动态代理 JDK动态代理 工作原理 JDK动态原理实现关键步骤 CGLib动态代理 CGLIB动态代理实现关键步骤 总结 前言 在上一篇中&#xff0c;我们讲解了什么是AOP&#xff0c;以及Spring AOP是如何使用的&#xff0c;那么本篇我们就…

SpringBoot五:JSR303校验

精心整理了最新的面试资料和简历模板&#xff0c;有需要的可以自行获取 点击前往百度网盘获取 点击前往夸克网盘获取 松散绑定 意思是比如在yaml中写的是last-name&#xff0c;这个和lastName意思是一样的&#xff0c;-后的字母默认是大写的 JSR303校验 就是可以在字段增加…

uniapp 系统学习,从入门到实战(六)—— 样式与布局

全篇大概 4700 字(含代码)&#xff0c;建议阅读时间 30min &#x1f4da; 目录 Flex 布局在 UniApp 中的应用响应式设计与适配多端使用 SCSS 提升样式开发效率实战案例演示总结 1. Flex 布局在 UniApp 中的应用 1.1 基础布局实现 通过 display: flex 快速构建弹性容器&#…

Redis---缓存穿透,雪崩,击穿

文章目录 缓存穿透什么是缓存穿透&#xff1f;缓存穿透情况的处理流程是怎样的&#xff1f;缓存穿透的解决办法缓存无效 key布隆过滤器 缓存雪崩什么是缓存雪崩&#xff1f;缓存雪崩的解决办法 缓存击穿什么是缓存击穿&#xff1f;缓存击穿的解决办法 区别对比 在如今的开发中&…

从UNIX到Linux:操作系统进化史与开源革命

从UNIX到Linux&#xff1a;操作系统进化史与开源革命 一、操作系统&#xff1a;数字世界的基石 1.1 什么是操作系统&#xff1f; 操作系统&#xff08;OS&#xff09;是计算机系统的核心管理者&#xff0c;承担着三大核心使命&#xff1a; 硬件指挥官&#xff1a;直接管理C…

【Python 语法】算法合集

查找二分查找代码大 O 表示法 广度优先搜索代码 狄克斯特拉算法 递归递归调用栈 分而治之&#xff08;divide and conquer&#xff0c;D&C&#xff09;贪心教室调度问题背包问题集合覆盖问题 动态规划背包问题旅游行程最优化 遇到问题时&#xff0c; 如果不确定该如何 高效…

IDEAPyCharm安装ProxyAI(CodeGPT)插件连接DeepSeek-R1教程

背景&#xff1a;最近DeepSeek比较火嘛&#xff0c;然后在githup上也看到了GitHub Copilot&#xff0c;就想着现在AI的准确率已经可以提高工作效率了。所以从网上找了一些编程插件&#xff0c;发现Proxy支持的模型比较多&#xff0c;通用性和适配性比较好。所以本文记录一下pro…

基于javaweb的SSM+Maven幼儿园管理系统设计和实现(源码+文档+部署讲解)

技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论…