面试题day01
-
不用中间变量交换a和b的值?
方法一:简单的计算交换
a = a+b b = a-b a = a-b
方法二:异或运算
a = a^b b = b^a a = a^b 原理:假设a=1,b=2 转换为二进制数:a=0001,b=0010 a=a^b=0001^0010=0011 b=b^a=0010^0011=0001 a=a^b=0011^0001=0010
小科普:
-
按位与运算(&)
0&0=0;0&1=0;1&0=1;1&1=1
-
按位或运算(|)
0|0=0;0|1=1;1|0=1;1|1=1
-
异或运算(^)
0^0=0;0^1=1;1^0=1;1^1=0
方法三:
a,b=b,a
-
-
print调用python中底层的什么方法?
print方法默认调用sys.stdout.write方法,即往控制台打印字符串。
-
以下代码的输出结果是什么?
class Parent(object): x = 1 class Child1(Parent): pass class Child2(Parent): pass print(Parent.x, Child1.x, Child2.x) Child1.x = 2 print(parent.x, Child1.x, Child2.x) parent.x = 3 print(Parent.x, Child1.x, Child2.x) # 输出结果为 1 1 1 1 2 1 3 2 3
-
简述input()函数的理解
在python3中,input函数获取用户输入,不论用户输入的是什么,获取到的都是字符串类型。
在python2中,raw_input()函数和python3中的input()是一样的,而input()函数时输入什么数据类型,获取的就是什么数据类型。