Python基础语法元素(学习笔记)

实例1:温度转换

# TempConvert.py   #为单行注释   多行注释为: ''' 这里写内容 '''
TempStr = input("请输入带有符号的温度值:")
if TempStr[-1] in ['F','f'] :C = (eval(TempStr[0:-1])-32)/1.8print("转换后的温度是{:.2f}C".format(C))
elif TempStr[-1] in ['C','c'] :F = 1.8*eval(TempStr[0:-1])+32print("转换后的温度是{:.2f}F".format(F))
else :print("输入格式错误!")

第一节课,老师便是用一个温度转换的实例带我们了解了python的一些基础语法元素,下面是我对这个实例的一些学习:

第1行:input()函数从控制台获得用户输入,返回一个字符串,无论用户输入的是字符还是数字,统一按照字符串类型输出
然后由TempStr这个变量接受输入的字符串第2行:TempStr[-1]是一个字符串TempStr中的最后一个字符
字符串两种序号体系:(L为字符串长度)
正向递增序号:从0开始,向右依次递增到L-1
反向递减序号:从-1开始,向左一次递减到-L字符串切片:TempStr[N:M]表示字符串中从N到M(不包含M)的子字符串['F','f']是一个列表,用来表示一组数据,逗号用于分隔元素,每个元素的类型可以不同,个数也没有限制第3、6、9行采用了"if-elif-else"类型的分支语句,注意它们后面都有个冒号
表达式由 in 组成,用于判断TempStr中保存的字符串最后一个字符TempStr[-1]是否在一个由'F'或者'f'组成的列表集合中,返回true或false第4行:eval()函数用于去掉其参数字符串最外侧的一堆单引号或双引号之后,把剩下的部分当作表达式去执行
这里则是将用户的输入(TempStr[0:-1]这个子串)由字符串转换为数值第5、8行:格式化输出,其中{}是槽,每个槽位置用,format()中的一个参数填充,:.2f表示输出数值取两位小数值第10行:单参数直接输出字符串或单个变量的值补充:多参数直接输出,直接输出多个字符串或变量的值,参数之间用逗号分隔,输出后各打印值之间是由一个空格分隔的

程序运行:

 

实例2:Python蟒蛇绘制

这是一个有趣的Python实例,用于理解引用库的Python"生态式"编程方法

第一种库引用方式:import
#第一种库引用方式,import <库名> ,代码可读性好,这样程序就可以调用库名中的所有函数
import turtle
turtle.setup(650,350,200,200) #用来设置主窗体的大小和位置
turtle.penup() #画笔抬起,移到画笔不绘制任何形状,没有参数
turtle.forward(-250) #用来控制画笔向当前行进方向前进一段距离,若参数值为负数,表示向相反方向前进
turtle.pendown() #画笔落下,移动画笔将绘制图形,turtle绘图开始时,默认画笔是落下的
turtle.pensize(25) #有参数时,用来设置画笔宽度;无参数时,返回当前画笔宽度
turtle.pencolor("green") #有参数时,设置画笔颜色,参数也可是颜色对应的RGB数值:turtle.pencolor((r,g,b)) ;无参数时,返回画笔颜色
turtle.seth(-40) #设置绝对角度值改变画笔绘制方向,也可以从海龟角度:turtle.left(angle)、turtle.right(angle)
for i in range(4) : #循环,注意后面有个冒号,其中range(N)表示产生0到N-1个整数序列,共N个;若是range(M,N)表示产生M到N-1的整数序列,共N-M个turtle.circle(40,80) #根据半径radius绘制一个extent角度的弧形,其中,radius默认在海龟左侧radius距离的位置,extent默认是360度整圆,即extent为Noneturtle.circle(-40,80)
turtle.circle(40,80/2)
turtle.forward(40)
turtle.circle(16,180)
turtle.forward(40*2/3)
turtle.done() #表示程序完成后,需手工关闭窗体退出
 第二种库引用方式:from <库名> import *
#第二种库引用方式,from <库名> import * ,库中的函数名可能会与用户自定义的函数名冲突
from turtle import *  # *是通配符,表示库中所有函数,调用该库的函数时不再需要使用库名,也可以是from <库名> import <函数名,函数名,...,函数名>
setup(650,350,200,200) #用来设置主窗体的大小和位置
penup() #画笔抬起,移到画笔不绘制任何形状,没有参数
forward(-250) #用来控制画笔向当前行进方向前进一段距离,若参数值为负数,表示向相反方向前进
pendown() #画笔落下,移动画笔将绘制图形,turtle绘图开始时,默认画笔是落下的
pensize(25) #有参数时,用来设置画笔宽度;无参数时,返回当前画笔宽度
pencolor("green") #有参数时,设置画笔颜色,参数也可是颜色对应的RGB数值:turtle.pencolor((r,g,b)) ;无参数时,返回画笔颜色
seth(-40) #设置绝对角度值改变画笔绘制方向,也可以从海龟角度:turtle.left(angle)、turtle.right(angle)
for i in range(4) : #循环,注意后面有个冒号,其中range(N)表示产生0到N-1个整数序列,共N个;若是range(M,N)表示产生M到N-1的整数序列,共N-M个circle(40,80) #根据半径radius绘制一个extent角度的弧形,其中,radius默认在海龟左侧radius距离的位置,extent默认是360度整圆,即extent为Nonecircle(-40,80)
circle(40,80/2)
forward(40)
circle(16,180)
forward(40*2/3)
done() #表示程序完成后,需手工关闭窗体退出
 第三种库引用方式:import <库名> as <库别名>
#第三种库引用方式,import <库名> as <库别名>,避免了命名冲突,又使代码可读性好,结合了上面两种方式的优点
import turtle as t
t.setup(650,350,200,200) #用来设置主窗体的大小和位置
t.penup() #画笔抬起,移到画笔不绘制任何形状,没有参数
t.forward(-250) #用来控制画笔向当前行进方向前进一段距离,若参数值为负数,表示向相反方向前进
t.pendown() #画笔落下,移动画笔将绘制图形,turtle绘图开始时,默认画笔是落下的
t.pensize(25) #有参数时,用来设置画笔宽度;无参数时,返回当前画笔宽度
t.pencolor("green") #有参数时,设置画笔颜色,参数也可是颜色对应的RGB数值:turtle.pencolor((r,g,b)) ;无参数时,返回画笔颜色
t.seth(-40) #设置绝对角度值改变画笔绘制方向,也可以从海龟角度:turtle.left(angle)、turtle.right(angle)
for i in range(4) : #循环,注意后面有个冒号,其中range(N)表示产生0到N-1个整数序列,共N个;若是range(M,N)表示产生M到N-1的整数序列,共N-M个t.circle(40,80) #根据半径radius绘制一个extent角度的弧形,其中,radius默认在海龟左侧radius距离的位置,extent默认是360度整圆,即extent为Nonet.circle(-40,80)
t.circle(40,80/2)
t.forward(40)
t.circle(16,180)
t.forward(40*2/3)
t.done() #表示程序完成后,需手工关闭窗体退出

上面三种方式的运行结果都是一样的。

程序运行:

 

以上就是我对本章的学习,希望能帮助到各位同志,若有错误之处欢迎评论区留言,谢谢! 

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++20 中的std::c8rtomb和 std::mbrtoc8

文章目录 1. 引言2. std::c8rtomb 函数详解3. std::mbrtoc8 函数详解4. 使用示例5. 注意事项6. 总结 1. 引言 C20 标准引入了对 UTF-8 编码的更好支持&#xff0c;其中包括两个重要的函数&#xff1a;std::c8rtomb 和 std::mbrtoc8。这两个函数分别用于将 UTF-8 编码的字符转换…

数据可视化TensorboardX和tensorBoard安装及使用

tensorBoard 和TensorboardX 安装及使用指南 tensorBoard 和 TensorBoardX 是用于可视化机器学习实验和模型训练过程的工具。TensorBoard 是 TensorFlow 官方提供的可视化工具&#xff0c;而 TensorBoardX 是其社区驱动的替代品&#xff0c;支持 PyTorch 等其他框架。以下是它…

flutter-实现瀑布流布局及下拉刷新上拉加载更多

文章目录 1. 效果预览2. 结构分析3. 完整代码4. 总结 1. 效果预览 在 Flutter 应用开发中&#xff0c;瀑布流布局常用于展示图片、商品列表等需要以不规则但整齐排列的内容。同时&#xff0c;下拉刷新和上拉加载更多功能&#xff0c;能够极大提升用户体验&#xff0c;让用户方…

【day2】数据结构刷题 栈

一 有效的括号 给定一个只包括 (&#xff0c;)&#xff0c;{&#xff0c;}&#xff0c;[&#xff0c;] 的字符串 s &#xff0c;判断字符串是否有效。 有效字符串需满足&#xff1a; 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的…

YAML是什么?

YAML&#xff08;YAML Ain’t Markup Language&#xff09;是一种以数据为中心、高度可读的序列化语言&#xff0c;广泛应用于配置文件、数据交换和自动化工具中。以下从多个维度对其进行全面解析&#xff1a; 1. 定义与历史演变 全称与定位&#xff1a; YAML的全称最初为“Yet…

熔断降级(Sentinel解决)

问题概述 在微服务架构中一定要预防微服务雪崩问题&#xff0c;微服务雪崩问题就是指在微服务架构中&#xff0c;当一个服务出现故障时&#xff0c;由于服务之间的依赖关系&#xff0c;故障可能会传播到其他服务&#xff0c;从而导致了大规模的服务失败&#xff0c;系统无法正…

反序列化漏洞

前提概要 本文章主要用于分享反序列化漏洞基础学习&#xff0c;以下是对反序列化漏洞的一些个人解析&#xff0c;请大家结合参考其他文章中的相关信息进行归纳和补充。 反序列化漏洞描述 反序列化漏洞是指程序在对输入的字节流进行反序列化时&#xff0c;因缺乏充分的验证和过…

吐血整理:Air8201如何使用LuatOS进行电源管理功能!

在物联网应用场景中&#xff0c;设备续航能力直接影响其部署成本与运维效率。LuatOS操作系统通过软件层面的精细化控制&#xff0c;为Air8201提供了灵活且高效的电源管理策略。本文将从系统架构、API接口、实战配置三个维度&#xff0c;解析如何利用LuatOS实现Air8201的智能电源…

STM32学习笔记之存储器映射(原理篇)

&#x1f4e2;&#xff1a;如果你也对机器人、人工智能感兴趣&#xff0c;看来我们志同道合✨ &#x1f4e2;&#xff1a;不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 &#x1f4e2;&#xff1a;文章若有幸对你有帮助&#xff0c;可点赞 &#x1f44d;…

合宙780E开发学习-LUATOS-SOC云编译自定义固件

登录https://luatos.com 点击登录&#xff0c;使用合宙erp账号登录即可 点击右上角构建&#xff0c;点击右上角菜单新构建&#xff0c;自定义构建名称&#xff0c;可新建多个 勾选想要的组件 点击右上角保存修改&#xff0c;只有点击准备就绪&#xff08;注意&#xff1a;一定…

react 15-16-17-18各版本的核心区别、底层原理及演进逻辑的深度解析

一、React 15&#xff08;2016&#xff09; 核心架构&#xff1a;Stack Reconciler&#xff08;栈协调器&#xff09; 工作原理&#xff1a; 同步递归渲染&#xff1a;采用深度优先遍历方式递归处理 Virtual DOM&#xff0c;形成不可中断的调用栈渲染流程&#xff1a;1. 触发 …

【HarmonyOS NEXT】EventHub和Emitter的使用场景与区别

一、EventHub是什么&#xff1f; 移动应用开发的同学应该比较了解EventHub&#xff0c;类似于EventBus。标准的事件广播通知&#xff0c;订阅&#xff0c;取消订阅的处理。EventHub模块提供了事件中心&#xff0c;提供订阅、取消订阅、触发事件的能力。 类似的框架工具有很多…

QT记事本

记事本应用程序提供了基本的文本编辑功能&#xff0c;支持文件的新建、打开、保存和另存为操作&#xff0c;同时具备修改提示和关闭窗口时的保存确认功能。使用 UTF - 8 编码确保了对多语言文本的支持。 1. 项目整体结构 main.cpp&#xff1a;程序的入口点&#xff0c;负责初…

如何用 Postman 发送 POST 请求?

POST 请求是 HTTP 协议中用于提交数据的一种方法&#xff0c;Postman 提供了丰富的功能来支持用户发送包含各种信息的 POST 请求&#xff0c;如文本数据、JSON 或 XML 数据结构、文件等。 Postman 发送 post 请求教程

Ant Design Vue 中的table表格高度塌陷,造成行与行不齐的问题

前言&#xff1a; Ant Design Vue: 1.7.2 Vue2 less 问题描述&#xff1a; 在通过下拉框选择之后&#xff0c;在获取接口数据&#xff0c;第一列使用了fixed:left&#xff0c;就碰到了高度塌陷&#xff0c;查看元素的样式结果高度不一致&#xff0c;如&#x…

Flink 通过 Chunjun Oracle LogMiner 实时读取 Oracle 变更日志并写入 Doris 的方案

文章目录 一、 技术背景二、 关键技术1、 Oracle LogMiner2、 Chunjun 的 LogMiner 关键流程3、修复 Chunjun Oracle LogMiner 问题 一、 技术背景 在大数据实时同步场景中&#xff0c;需要将 Oracle 数据库的变更数据&#xff08;CDC&#xff09; 采集并写入 Apache Doris&am…

qt+opengl 加载三维obj文件

1前面我们已经熟悉了opengl自定义顶点生成一个立方体&#xff0c;并且我们实现了立方体的旋转&#xff0c;光照等功能。下面我们来用opengl来加载一个obj文件。准备我们首先准备一个简单的obj文件&#xff08;head.obj&#xff09;。资源在本页下载 2 在obj文件里面&#xff0c…

计算机组成原理的学习day01

一 计算机系统层次结构 1 计算机硬件的基本组成 好的&#xff0c;上个小节中我们了解了计算机系统的概念&#xff0c;还有计算机的一个发展历程&#xff0c;那这个小节中我们会着重的探讨计算机硬件的一个基本组成。我们需要掌握这样的两种结构&#xff0c;第一种是早期的冯诺…

ASP 应用HTTP.SYS短文件文件解析Access 注入数据库泄漏

#ASP- 默认安装 -MDB 数据库泄漏下载&#xff08;路径是知道的话可以直接下载&#xff09; 由于大部分 ASP 程序与 ACCESS 数据库搭建&#xff0c;但 ACCESS 无需连接&#xff0c;都在脚本文件中定 义配置好数据库路径即用&#xff0c;不需要额外配置安装数据库&#x…

Redis 版本演进及主要新特性

Redis 版本发布历史 稳定版本时间线 Redis 2.6 (2012年)Redis 2.8 (2013年11月)Redis 3.0 (2015年4月) - 首次支持集群Redis 3.2 (2016年5月)Redis 4.0 (2017年7月)Redis 5.0 (2018年10月)Redis 6.0 (2020年4月)Redis 6.2 (2021年2月)Redis 7.0 (2022年4月) - 最新稳定版(截至…