您的位置:首页 > 编程语言 > Python开发

Python面试题集答案(2)

2015-06-10 20:37 585 查看
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包,这里就先不展开了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: