Python面试题集答案(2)


Python面试题集答案(1)

Python面试题集


3、解释一下python的 and-or 语法?

and-or 语法相当于java中的三元运算 bool?a:b

当bool为真则返回结果a,否则返回结果b

例如:

<span style="font-size:18px;">>>> a='abc'
>>> b='bcd'
>>> len(a)>0 and a or b</span>

'abc'

有一种特殊情况需要注意:在python中 1表示真,0表示假,所以可能造意外的结果。

例如:

<span style="font-size:18px;">>>> e=0
>>> f=1
>>> e and e or f
1</span>

个人理解是这里把and 和or当成了布尔运算,效果等同于下面的表达式:

<span style="font-size:18px;">>>> False and False or True
True</span>
为了避免这种情况的发生,需要安全的使用and-or语句:

<span style="font-size:18px;">>>> a1=''
>>> a2='a2'
>>> a1 and [a1] or [a2]
['a2']
>>> (a1 and [a1] or [a2])[0]
'a2'</span>
这样返回的结果是列表,因为在列表[a1]中是有一个值的,所以不论这个值是什么,都是真,哪怕其中存储的对象是0、False等表示假的值。

4、Python是如何进行类型转换的?

类型转换之前,需要明确python的类型:

字符串、布尔型、整型、浮点型、数字型、列表、元组、字典、日期

所以类型转换主要就是在这些类型中进行的,其中又以字符型与其他类型转换为主。

1、字符串转整型

<span style="font-size:18px;">>>> a='123'
>>> b = int(a)
>>> b
123
</span>
2、整型转浮点型

<span style="font-size:18px;">>>> float(b)
123.0</span>
3、数字型转字符串

<span style="font-size:18px;">>>> str(b)
'123'</span>
4、字典转元组

<span style="font-size:18px;">>>> dict = {'name': 'Zara', 'age': 7, 'class': 'First'}
>>> tuple(dict)
('age', 'name', 'class')
>>> tuple(dict.values())
(7, 'Zara', 'First')</span>
5、字典转列表

<span style="font-size:18px;">>>> list(dict)
['age', 'name', 'class']</span>

6、元组转列表

<span style="font-size:18px;">>>> tup=(1, 2, 3, 4, 5)
>>> list(tup)
[1, 2, 3, 4, 5]</span>
7、元组转字符串

<span style="font-size:18px;">>>> tup.__str__()
'(1, 2, 3, 4, 5)'</span>


总结起来就是对应的类型一般都有转换的方法

转int类型——>> int()

   str                      str()

   list                      list()

   tuple                  tuple()

   float                   float()

至于时间类型的转化就要复杂一些了,需要导入time包,这里就先不展开了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值