python基础

时间:2020-02-26 12:57:10   收藏:0   阅读:84

第一部分 必答题

1.简述列举了解的编程语言及语言间的区别?

2.列举python2和python3 的区别?

3.看代码写结果

 v1 = 1 or 2# 1
 v2 = 3 and 7 or 9 and 0# 7

4.比较以下值有什么不同?

 v1 = [1,2,3]
 v2 = [(1),(2),(3)]
 v3 = [(1,),(2,),(3,)]
 # v1 v2 一样
 # v3 列表中是三个元组

5.用一行代码实现数值交换

 a = 1
 b = 2
 ?
 b,a = a,b
  1. python中单引号、双引号、三引号的区别?

    • 单双引号相同,但有时需要单双引号混合使用(如出现需要转义字符)

    • 三引号不常用,用于多行注释

  1. is和==的区别?

    • is:判断两边数据的内存地址是否相同

    • ==:判断两边数据的值是否相同

  1. python里如何实现tuple和list的转换?

 lis = [1,2,3]
 tu = tuple(lis)
  1. 如何实现字符串name = ‘老男孩‘的反转

 name = ‘老男孩‘
  1. 两个set如何获取交集、并集、差集?

  1. 那些情况下,y!=x-(x-y)会成立

 

12.python中如何拷贝一个对象?

  1. 简述赋值、浅拷贝、深拷贝的区别

  1. pass的作用?

  1. 阅读代码写结果:

 import copy
 a = [1,2,4,5,[‘b‘,‘c‘]]
 b = a
 c = copy.copy(a)
 d = copy.deepcopy(a)
 ?
 a.append(5)
 a[4].append(‘d‘)
 ?
 print(b)# [1,2,4,5,[‘b‘,‘c‘,‘d‘],5]
 print(c)# [1,2,4,5,[‘b‘,‘c‘,‘d‘]]
 print(a)# [1,2,4,5,[‘b‘,‘c‘,‘d‘],5]
  1. 用python实现9*9乘法表

 for i in range(1,10):
  for x in range(1,10):
  print(f"{i}*{x}={i*x} ",end="")
  print()
  1. 用Python显示一个斐波那契数列。

    • 基于列表

     f_lis = []
     for i in range(10):
      if i == 0 or i == 1:
      f_lis.append(1)
      else:
      f_lis.append(f_lis[i-2]+f_lis[i-1])
     print(f_lis)
    • 递归

     def fib(num):
      if num == 1 or num == 2:
      return 1
      else:
      return fib(num-2)+fib(num-1)
     
     for i in range(1,10):
      print(f"{fib(i)} ",end="")
     

     

  2. 如何删除列表中重复的值?

     lis = [1,2,2,3,4,4,5,5,6]
     print(list(set(lis)))
  3. 一个大小为100G的文件etl_log.txt, 要读取文件中的内容, 写出具体过程代码?

     with open("etl_log.txt","r",encoding="utf-8")as f:
      for i in f:
      print(i)
  1. a = dict(zip(("a","b","c","d","e"),(1,2,3,4,5))) 请问a是什么?

 {"a":1,"b":2,"c":3,"d":4,"e":5}
  1. lambda关键字的作用?

 

  1. *args和`**kwargs作用?

  1. 如何在函数中设置一个全局变量 ?

  1. filter、map、reduce的作用?

  1. 什么是匿名函数?匿名函数有什么作用?

 

  1. Python递归的最大层数?

  1. 什么是迭代器?什么是可迭代对象?

  1. 什么是生成器?

  1. 什么是装饰器及应用场景?

  1. 什么是反射及应用场景?

  1. 写一个普通的装饰器。

 def warpper(func):
  def inner(*args,**kwargs):
  # 装饰代码
  ret = func(*args,**kwargs)
  return ret
  return inner

 

  1. 写一个带参数的装饰器。

 def auth(argv):
  def warpper(func):
  def inner(*args,**kwargs):
  # 装饰代码
  ret = func(*args,**kwargs)
  return ret
  return inner
  return warpper

 

  1. 求结果

 def num():
  return [lambda x:i*x for i in range(4)]
 print([m(2) for m in num()])
 ?
 # 结果:[6,6,6,6]
  1. def(a, b=[])这种写法有什么陷阱?

    这样写b是一个全局的变量,可能影响以后的数据

  2. 看代码写结果

 def func(a,b=[]):
  b.append(a)
 return b
 ?
 v1 = func(1)
 v2 = func(2,[10,20])
 v3 = func(3)
 print(v1,v2,v3)
 ?
 # [1,3] [10,20,2] [1,3]
  1. 看代码写结果

 def func(a,b=[]):
  b.append(a)
 return b
 ?
 v1 = func(1)
 print(v1)
 v2 = func(2,[10,20])
 print(v2)
 v3 = func(3)
 print(v3)
 ?
 #
  1. 请编写一个函数实现将IP地址转换成一个整数。

 10.3.9.12 转换规则为:
  10 00001010
  3 00000011
  9 00001001
  12 00001100
 
 再将以上二进制拼接起来计算十进制结果:00001010 00000011 00001001 00001100 =
 ?
 def change(ip):
  lis = []
  ip_list = ip.split(".")
  for i in ip_list:
  i = bin(int(i))
  lis.append(i)
  bin_ip = " ".join(lis)
  return bin_ip
  1. 请查找一个目录下的所有文件(可能存在文件嵌套)。

     def func(path)
     for i in os.listdir(path):
      if os.path.isdir(i):
      func(i)
      return i
  1. 求结果

 import math
 print (math.floor(5.5))
 ?
 # 5

原文:https://www.cnblogs.com/hrose/p/12366208.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!