python 类型小问题

1.tuple的陷阱:当你定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来。可以定义空的tupe 

t=()

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

t = (1)

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

所以,只有1个元素的tuple定义时必须加一个逗号,,来消除歧义:t=(1,)

tuple不可变,但tuple中假设有个 list,list中元素是可变的

tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的

2.

xrange和range区别
python中

1、range 是生成一个列表
2、xrange用法与range完全相同,不同的是生成的不是一个list对象,而是一个生成器
3、在生成很大的数字序列时候,用xrange会比range性能优很多,因为不需要一上来就开辟一块很大的内存空间
4、xrange和range都在循环的时候使用。

3. 字符串前面 r、u、b、f

r 表示原始字符串 str1 = r"Hello \n world" print(str1) -> Hello \n world

u 表示unicode 编码

b 表示byte流, str2 = b'Hello world' print(type(str2)) -><class ‘bytes’> 

f 表示格式化  name = "东方明珠" high = 468 print(f"{name}的高度是{high}米。") ->东方明珠的高度是468米。

4.  num = [4, 1, 3, 2]  rev = reversed(num)  print(sorted(rev), sorted(rev)) -> [1, 2, 3, 4] []

因为reversed 返回的不是list ,而是一个逆序迭代器

5.  

>>> print(-1%3) ->2
>>> print(-2%3) -> 1
>>> print(-10//3) ->-4
>>> print(2//3)->  0

6.  set  + - & ^ 运算符

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值