两个实用的Python编程技巧

一、变量类型声明技巧

虽然在Python中可以不用声明变量的类型,但是为了加快程序的运算速度,减少不必要的bug,我们可以在定义变量之初就把它的类型确定,这样可以更好地传输变量值。如下面的例子。

我们定义了两个变量,分别是name和age,同时声明其类型一个是字符型,一个是数值型。这种类型提示不仅可以提高代码的可读性,还可以帮助开发者在代码维护和扩展时更清楚地理解变量的用途和类型,降低了引入错误的风险。

同时,IDE 和代码编辑器可以利用类型提示提供更好的代码补全和分析。例如,当你输入 name. 时,编辑器会根据 str 类型提供相应的方法和属性建议。

name: str = 'Jack'
age: int = 29

这样在后续调用时我们可以更加简化一些。

print(f'{name=}')   # 等价于 print(f'name={name}'),下同
print(f'{age=}')
print(f'{5+10=}')

示例如下,这样我们可以简化f'name = {name}'的写法。同时,打印变量时还可以直接打印出它的值。

运行情况展示

以上这种声明方式可以让代码更易于理解,也便于检查代码的错误。

二、如何得到列表的第一个值和最后一个值

我们在编程过程中得到一个列表,有时我们只想要列表的第一个值或最后一个值,这时我们一般用lst[0]和lst[-1]来表示,但是还有一种更好的方法。

通过列表解包同时获取第一个和最后一个值。

first, *_, last = lst

其中的*_代表的是lst表中除了第一个值和最后一个值的的内容。这样,我们就可以通过first和last两个变量得到了列表的第一个值和最后一个值。

第三种方法是通过使用 next() 和 reversed()

使用 next() 函数获取迭代器的第一个元素,并结合 reversed() 函数获取最后一个元素。

my_list = [1, 2, 3, 4, 5]
first = next(iter(my_list))
last = next(iter(reversed(my_list)))print("First:", first)  # 输出: First: 1
print("Last:", last)    # 输出: Last: 5

这三种方法都可以有效地获取列表的第一个和最后一个值。

三、学后总结

python的技巧非常多,平时学习时要注意日常的积累,并运用到实际的编程中。同时,要提升个人的问商和AI商,多问问ChatGPT和其它的人工智能工具,以便获取更有针对性的信息。

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

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

相关文章

linux 系统备份与恢复方法及解决方案

😀前言 本篇博文是关于 linux 系统备份与恢复,希望你能够喜欢 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是我的动力&#x…

Jmeter提取token并设置为全局变量

参考文章:Jmeter提取token并设置为全局变量(最详细的步骤)_jmeter提取token到全局变量-CSDN博客 一般来说,系统内大多数接口,都需要先获取登录后的token值,所以我们需要创建一个获取token的接口&#xff0c…

4款文章生成器,自动写作优质文章

在当今信息爆炸的时代,内容创作已经成为网络世界中不可或缺的一部分。然而,随着人们对高质量内容的需求不断增加,传统的手动创作已经无法满足市场的需求。因此,文章生成器应运而生,成为许多从业者和企业的利器。在本文…

发完朋友圈就“退款”?黑神话的玩家是否都是“忠实粉丝”?

​声明:此篇为 ai123.cn 原创文章,转载请标明出处链接:https://ai123.cn/2228.html 《黑神话:悟空》自上线以来,便引发了玩家社区的广泛讨论。游戏的退款现象主要受到了一些技术问题和个人体验差异的影响。部分玩家因遇…

Java-Redis

文章目录 基础基础内容使用场景/功能常见数据类型下载与安装可视化(多个)发布订阅功能事务两种持久化主从模式哨兵模式集群模式Cluster缓存淘汰过期删除缓存一致 Cache Aside缓存击穿缓存穿透缓存雪崩分布式锁 实战内容配置文件配置Redis的BeanRedis为什…

Redis(面试题【速记】)

Redis简介 Redis 是一个开源(BSD 许可)内存数据结构存储用作数据库、缓存、消息代理和流引擎。Redis 提供数据结构,例如 字符串、散列、列表、集合、带范围查询的排序集合、位图、超日志、地理空间索引和流。Redis 内置了复制、Lua 脚本、LRU 驱逐、事务和不同级别的…

编程征途:接受挫折、分解问题、寻求帮助、持续反思

在编程学习的征途中,挫折感与难题如影随形,它们不仅是成长的催化剂,也是区分初学者与高手的试金石。作为程序员,面对Bug的迷宫和复杂的算法挑战时,保持冷静、寻找出路,是必备的技能之一。以下是我个人在这一…

免费SSL证书申请流程开启HTTPS,以及3个月到期解决方法

阿里云免费SSL证书申请流程2024年最新申请教程,阿里云免费SSL证书品牌是Digicert,免费单域名证书,一个阿里云账号可以免费申请20张SSL免费证书,免费时长为3个月(之前是一年免费时长),免费SSL证书…

企业监控大盘Grafana

企业监控大盘Grafana Grafana简述 Grafana 是一个开源的度量分析与可视化工具。提供查询、可视化、报警和指标展示等功能,能灵活创建图表、仪表盘等可视化界面 主要功能: 可视化: 提供多种可选择的不同类型的图形,能够灵活绘制不同样式&…

Centos系统二进制安装mysql5.7.44、添加环境变量、复制启动脚本、初始化数据库、设置用户密码

MySQL :: Download MySQL Community Server (Archived Versions) https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz 删除默认存在的mariadb-libs rpm -e mariadb-libs --nodeps 安装mysql cd /usr/local/src/ && …

vue part4

收集表单数据 v-model label直接包住input不用关联也可以获取焦点 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>收集表单数据</title><script type"text/javascript" src&quo…

Java数据结构篇

Map体系 1.HashMap 哈希冲突&#xff1a;开放定址法、再哈希法、链地址法插入元素先检查是否到达阈值&#xff0c;是则先数组扩容&#xff0c;然后再插入链表&#xff0c;链表长度超过8则转红黑树1.7之前由于扩容导致的头插法尾插法混合导致指针错误&#xff0c;出现死循环问…

编程示例:汉字生成盲文的翻译器

1 翻译器的意义 我国有视障人士2000多万人&#xff0c;需要把大量的文章与书籍转换成盲文书。 2 翻译器的开发原理 根据汉语与盲文符号的对照表&#xff0c;以此为基础&#xff0c;进行汉字与盲文之间的转换。 如下的两个图片是汉语与盲文符号的对照表。 3 翻译器的开发示例…

BMP位图原理深度解析及编程实现RGB565图片格式转换

1、前言 在Windows的画图软件中可以看到&#xff0c;常见的BMP有如下图所示的几种&#xff1a;单色位图、16色位图、256色位图和24位位图&#xff0c;其颜色深度分别为1、4、8、24。 在一些单片机设备中的LCD显示屏幕中&#xff0c;仅仅支持RGB565这一类的16位颜色深度图像&…

[windows][软件]Windows平台MongoDB的安装

1.下载软件 上mongoDB官网&#xff0c;网址&#xff1a;Download MongoDB Community Server | MongoDB&#xff0c; 下载对应的版本软件 2.安装 下载安装包如图&#xff1a; 双击安装&#xff1a; 默认&#xff0c;点击next 默认,点击next 默认点Complete&#xff0c;完整安…

混杂设备驱动、Linux内核中的中断、火焰传感器驱动、呼吸传感器驱动、等待队列

混杂设备驱动 混杂设备也叫杂项设备&#xff0c;是对普通的字符设备(struct cdev)的一种封装。misc 设备会自动创建cdev&#xff0c;不需要像我 们以前那样手动创建&#xff0c;因此采用misc 设备驱动可以简化字符设备驱动的编写。具有以下特点&#xff1a; 1) 主设备号为10&…

DVWA靶场通关(CSRF)

CSRF 是跨站请求伪造&#xff0c;是指利用受害者尚未失效的身份认证信息&#xff08;cookie、会话等&#xff09;&#xff0c;诱骗其点击恶意链接或者访问包含攻击代码的页面&#xff0c;在受害人不知情的情况下以受害者的身份向&#xff08;身份认证信息所对应的&#xff09;服…

WRF-LES与PALM微尺度气象大涡模拟

针对微尺度气象的复杂性&#xff0c;大涡模拟&#xff08;LES&#xff09;提供了一种无可比拟的解决方案。微尺度气象学涉及对小范围内的大气过程进行精确模拟&#xff0c;这些过程往往与天气模式、地形影响和人为因素如城市布局紧密相关。在这种规模上&#xff0c;传统的气象模…

生信学院|09月06日《在线产品交流工具》

课程主题&#xff1a;在线产品交流工具 课程时间&#xff1a;2024年09月06日 14:00-14:30 主讲人&#xff1a;曾裕章 生信科技 售后服务工程师 3DEXPERIENCE云平台基于云平台的交流工具XPR功能讲解Q&A 安装腾讯会议客户端或APP报名哦~~~ 或者点击链接报名&#xff1a;…

C语言进阶(一)数据在内存中的存储

整数在内存中的存储 整数的2进制表示方法有三种&#xff0c;即原码、反码和补码 有符号的整数&#xff0c;三种表示方法均有符号位和数值位两部分 符号位用0表示“正”&#xff0c;用1表示“负”&#xff0c;最高位被当做符号位&#xff0c;剩余的都是数值位 正整数的原、反…