微信扫一扫打赏支持

python疑难问题---8、只有一个数的元组表示

python疑难问题---8、只有一个数的元组表示

一、总结

一句话总结:

(一)、要定义一个只有1个元素10的tuple,不能直接(10),因为括号()既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义
(二)、因此,Python规定,这种情况下,按小括号进行计算,计算结果自然是10。
(三)、所以,只有1个元素10的tuple定义时必须加一个逗号,,来消除歧义:t = (10,)

 

 

 

 

二、只有一个数的元组表示

博客对应课程的视频位置:8、只有一个数的元组表示-范仁义-读书编程笔记
https://www.fanrenyi.com/video/32/343

 

如果要定义一个空的tuple,可以写成():

In [1]:
t=()
print(t)
print(type(t))
()
<class 'tuple'>

但是,要定义一个只有1个元素10的tuple,如果你这么定义:

In [2]:
t = (10)
print(t)
print(type(t))
10
<class 'int'>

定义的不是tuple,是10这个数!这是因为括号()既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义,因此,Python规定,这种情况下,按小括号进行计算,计算结果自然是10。

所以,只有1个元素的tuple定义时必须加一个逗号,,来消除歧义:
In [3]:
t = (10,)
print(t)
print(type(t))
(10,)
<class 'tuple'>

Python在显示只有1个元素的tuple时,也会加一个逗号,,以免你误解成数学计算意义上的括号。

In [ ]:
 
 
系列博客对应课程视频地址:
1、遍历列表的三种方式-范仁义-读书编程笔记
https://www.fanrenyi.com/video/32/293
2、字典排序-范仁义-读书编程笔记
https://www.fanrenyi.com/video/32/294
3、可变和不可变数据类型-范仁义-读书编程笔记
https://www.fanrenyi.com/video/32/295
4、python文件处理-范仁义-读书编程笔记
https://www.fanrenyi.com/video/32/305
5、二维列表初始化-范仁义-读书编程笔记
https://www.fanrenyi.com/video/32/306
6、python中浅拷贝和深度拷贝-范仁义-读书编程笔记
https://www.fanrenyi.com/video/32/307
7、python中的with...as...-范仁义-读书编程笔记
https://www.fanrenyi.com/video/32/320
8、只有一个数的元组表示-范仁义-读书编程笔记
https://www.fanrenyi.com/video/32/343
9、Python类中call函数的作用-范仁义-读书编程笔记
https://www.fanrenyi.com/video/32/361
10、python遍历字典的几种方式-范仁义-读书编程笔记
https://www.fanrenyi.com/video/32/368
11、python内嵌for...in循环-范仁义-读书编程笔记
https://www.fanrenyi.com/video/32/369
12、python生成器-范仁义-读书编程笔记
https://www.fanrenyi.com/video/32/370
13、Python切片操作-范仁义-读书编程笔记
https://www.fanrenyi.com/video/32/377
 
 
posted @ 2020-08-23 17:44  范仁义  阅读(632)  评论(0编辑  收藏  举报