面试题day01

面试题day01

  1. 不用中间变量交换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
    
  2. print调用python中底层的什么方法?

    print方法默认调用sys.stdout.write方法,即往控制台打印字符串。

  3. 以下代码的输出结果是什么?

    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
    
  4. 简述input()函数的理解

    在python3中,input函数获取用户输入,不论用户输入的是什么,获取到的都是字符串类型。

    在python2中,raw_input()函数和python3中的input()是一样的,而input()函数时输入什么数据类型,获取的就是什么数据类型。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值