每日十问(1)

    1. 为什么学习Python?
      1.1 python语言相对贴近人类语言,上手容易
      1.2 相比c语言,它有一个解释器界面,可以实时的,对话式的写一些东西,马上得到反馈,
      1.3 社区健康,可以快速的得到一个解决方案
      1.4 发育良好,越来越多的人用python,
      1.5  后续发展健康不论是游戏,大数据,人工智能都有其一席之地

    2. 通过什么途径学习的Python?
      2.1网上视频学习为主,
      2.2 在论坛交流为辅

    3. Python和Java、PHP、C、C#、C++等其他语言的对比?
      3.1 只学过c和python,感觉就是c好好使用需要更多的知识,

    4. 简述解释型和编译型编程语言?
      1 解释型语言写的程序每执行一次都要翻译一次
      2 编译型语言会将程序翻译好,之后执行都直接读入机器可读的二进制机器码

    5. Python解释器种类以及特点?
      5.1 cpython 就是我们最常用的,
      5.2 ipython 是一个交互更加人性化的解释器
      5.3 jpython 是python程序能在java虚拟机中运行
      5.4 Ironpython 使python程序能在.net环境下运行
      5.4 pypy 使用jit技术,使python程序能更快运行,但是不能保证执行结果和cpython解释器执行结果一样,有一些第三方库也不一定支持

    6. 位和字节的关系?
      6.1 位 bit
      6.2 字节 Byte
      6.3 8*bit=1*Byte

    7. b、B、KB、MB、GB 的关系?
      等比关系  1:8:8*1024:8*(1024**2):8*(1024**3):8*(1024**4)

    8. 请至少列举5个 PEP8 规范(越多越好)。
      8.1  缩进使用4个空格
      8.2  每行最长行宽79,或在一个团队内使用80~100
      8.3  import通常使分开的
      8.4  定义字符串的时候,使用统一的"",或''
      8.5  保持命名风格的一致性和可读性
      更多参考

    9. 通过代码实现如下转换:

      二进制转换成十进制:v = “0b1111011”
      
      十进制转换成二进制:v = 18
 
      八进制转换成十进制:v = “011”
 
      十进制转换成八进制:v = 30
 
      十六进制转换成十进制:v = “0x12”
 
      十进制转换成十六进制:v = 87

      import re 
      def b2ten(num):
          num_use=num[2::]
          num_list=re.findall(r'w',num_use)[::-1]
          num_int=0
          for i in range(len(num_list)):
              num_int+=int(num_list[i])*(2**(i))
          
          return num_int
      
      print(b2ten('0b11111011'))
      同理,16进制转十进制以及8进制转十进制,
      1 先判断这个数的进制类型
      2 去掉进制标识符
      3 反转这个数
      4 按照其进制,取每位数代表的值,及索引,然后值乘以进位数的索引值次方,再累加即可。比如16进制0x78,=8*(16**0)+7*(16*1)=120

      十进制转其他进制只是反其道而行之,只是多一步,转换成字符串

        

    10. 请编写一个函数实现将IP地址转换成一个整数。

      如 10.3.9.12 转换规则为:
              10            00001010
      
         3            00000011

               9            00001001
      
        12            00001100

      再将以上二进制拼接起来计算十进制结果:00001010 00000011 00001001 00001100 = ?
      这个题目是上一题的应用,
      
      1 由上一题的基础,先把十进制数转成二进制字符串,
      2 将其拼接
      3 由二进制字符串转成十进制数
      

        

原文地址:https://www.cnblogs.com/yuanji2018/p/9999106.html