字符串和尾随逗号,耦合并成为,Tuple ():将错误复制并粘贴到错误和概念
来源:dev.to
时间:2024-07-21 22:15:57 290浏览 收藏
哈喽!大家好,很高兴又见面了,我是golang学习网的一名作者,今天由我给大家带来一篇《字符串和尾随逗号,耦合并成为,Tuple ():将错误复制并粘贴到错误和概念》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!
今天,我将讲述一个关于我的复制粘贴错误的故事,以及如何在我的 python 程序中将带有逗号的字符串耦合并成为 tuple()。奇怪的是,在犯这个错误之前我并不是没有意识到这个概念。
那么,让我们开始快速学习 python 中的字符串和元组。
细绳
定义: 用于存储和操作文本的字符序列。
语法: 用单引号 ' '、双引号 " " 或三引号 ''' '''/""" """ 括起来。
不可变性: 字符串创建后无法更改。
# example mystring = "hello, world!" print(type(mystring)) #output:mystring2 =str() print(type(mystring2)) #output:
元组
定义: 不可变的值序列。
语法: 用括号( )定义,用逗号分隔。
不变性:一旦创建,元素就无法更改。
# example mytuple = (1,2) print(type(mytuple)) #output:mytuple2 =tuple() print(type(mytuple2)) #output:
现在,我们了解了字符串和元组,以及如何使用直接赋值或使用构造函数使用类方法来获取字符串或元组类型的变量。但是,我的故事不同:)。
python 语句不需要分号(;)或逗号(,)或任何其他结束符号(空格用于处理块),所以如何以像“ajit kumar”这样的字符串结尾逗号,因为通常您从字典列表中复制字符串元素,并且通常以尾随逗号结尾。这就是发生在我身上的事情,然后故事就变得有趣了。
带有尾随逗号的字符串
所以,首先让我们举一个我的故事的例子。
mymistake = "ajit kumar", print(type(mymistake)) #output :
现在,有两件事需要观察:
1) python解释器不会因为字符串'mymistake'后面的逗号而抛出任何错误,否则错误不会进一步发生。
2)变量类型变成了“元组”,而不是创建字符串变量的初衷我的错误。
我在这里写的,看起来非常简单,但是花了几个小时来调试这个错误,因为我将字符串作为参数传递给方法,并且错误很奇怪,我继续研究方法并尝试理解错误消息。例如,消息类似于“name”变量没有 lower() 方法。
问题
如果使用不带括号的逗号,python 会将其视为元组。
示例:mymistake = "ajit kumar",创建一个元组 ("ajit kumar",)。
所以,如果你想创建一个只有项目/元素的元组,你需要非常小心。下面的示例证明,在第一个示例中,即使一个项目位于一对括号 (1) 内,python 也会将其视为整数而不是元组。
singleitem = (1) print(type(singleitem)) #output:
因此,要创建包含单个项目的元组,您必须使用尾随逗号,如下所示:
singleitemtuple = (1,) print(singleitemtuple) #output: (1,) print(type(singleitemtuple)) #output:
而且,我认为,这就是为什么当字符串末尾有逗号时,python 将其视为元组并将变量创建为元组而不是字符串的原因。
但是,python 文档已经清楚地提到了这一点,这是我的错误或疏忽,我没有注意到它,并且一直使用 () 来创建元组,即使对于带有训练逗号的单个项目也是如此。来源
无论如何,这给了我一些新的学习和一个快捷方式来创建一个包含单个项目的元组,或者不使用 () 的多个项目。是的,我继续尝试使用“尾随逗号”和更多项目来创建元组,并且它有效。示例:
mylearning = "Ajit Kumar","April","python", print(mylearning) #output: ('Ajit Kumar', 'April', 'python') print(type(mymistake)) #output:
周末学到了很多东西。我希望,这对你有帮助。将您的讨论和建议写在评论中。我喜欢听到有关 python 快捷方式和开箱即用功能的信息。
文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《字符串和尾随逗号,耦合并成为,Tuple ():将错误复制并粘贴到错误和概念》文章吧,也可关注golang学习网公众号了解相关技术文章。
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
390 收藏
-
492 收藏
-
132 收藏
-
371 收藏
-
176 收藏
-
207 收藏
-
178 收藏
-
417 收藏
-
360 收藏
-
454 收藏
-
395 收藏
-
334 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 508次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习