python面試基礎知識(一),附帶詳細答案哦!



      最近,小編在整理python面試基礎知識,看了很多博客、文章和咨詢了一些大廠公司大牛。了解到,在python面試的時候,不僅要求你有項目經驗,還要考試代碼呢!今天,小編和大家分享一下python面試基礎知識,希望幫忙大家找到理想的工作!

      1573439053(1).jpg

      1、字符串常見操作

      切片

      mystr='helloworld'

      mystr=mystr[1:3]

      # print(mystr)

      format

      mystr2 = 'welcome, dear {name}'

      mystr2 = mystr2.format(name = "haha")

      # print(mystr2)

      join

      mystr3 = ['luo','bo','da','za']

      mystr3 = '-'.join(mystr3)

      # print(mystr3)

      replace

      mystr4 = 'haha-lala'

      mystr4 = mystr4.replace('haha','good')

      # print(mystr4)

      split

      mystr5 = 'lala,haha'

      mystr5 = mystr5.split('h')

      # print(mystr5)

      2、列表常見操作

      append 和 extend

      list1 = [1,2]

      list2 = [3,4]

      list3 = [5,6]

      list1.append(list2)

      list3.extend(list2)

      # print(list1)

      # print(list3)

      刪除元素

      del:根據下標進行刪除

      pop:刪除最后一個元素

      remove:根據元素的值進行刪除

      list4 = ['a', 'b', 'c', 'd']

      del(list4[0])

      # print(list4)

      # list4.pop()

      # print(list4)

      # list4.remove('c')

      # print(list4)

      排序

      mylist5 = [1, 5, 2, 3, 4]

      mylist5.sort()

      print(mylist5)

      mylist5.reverse()

      print(mylist5)

      3、字典常見操作

      清空字典

      dict1 = {'key1':1,'key2':2}

      # dict1.clear()

      # print(dict1)

      使用 pop 方法來指定刪除字典中的某一項

      # d1 = dict1.pop('key1')

      # print(d1)

      # print(dict1)

      遍歷字典

      mykey = [key for key in dict1]

      # print(mykey)

      myval = [val for val in dict1.values()]

      # print(myval)

      key_val = [(k,v) for k,v in dict1.items()]

      # print(key_val)

      fromkeys

      用于創建一個新字典,以序列中元素做字典的鍵,value 為字典所有鍵對應的初始值

      keys = ['aa','bb','cc','dd']

      dict2 = dict.fromkeys(keys,0)

      # print(dict2)

      4、is和==的區別

      == 是比較操作符,只是判斷對象的值(value)是否一致。

      is 判斷的是對象之間的身份(內存地址)是否一致。

      5、*arg和**kwarg作用

      *arg會把位置參數轉化為tuple **kwarg會把關鍵字參數轉化為dict

      6、計算1到100的和

      sum(range(1,101))

      7、獲取當前時間

      import time

      import datetime

      # print(datetime.datetime.now())

      8、深拷貝與淺拷貝

      import copy

      淺拷貝

      l1 = [1, 2, 3, [1, 2]]

      l2 = copy.copy(l1)

      l2.append('a')

      l2[3].append('a')

      # print(l1,l2

      深拷貝

      l3 = copy.deepcopy(l1)

      l3.append('a')

      l3[3].append('a')

      # print(l1,l3)

      9、查看下面代碼的輸出

      def num():

          return [lambda x:i*x for i in range(4)]

      print([m(1) for m in num()])

      [3, 3, 3, 3]

      10、打印九九乘法表

      for i in range(1,10):

          for j in range(1,i+1):

              print("%s*%s=%s" %(i,j,i*j),end="")

          print()

      11、filter、map、reduce 的作用

      mylist = [1, 2, 3, 4, 5, 6, 7, 8, 9]

      list(filter(lambda x: x%2 == 1, mylist))

      mylist = [1,2,3,4,5,6,7,8,9]

      li1 = list(map(lambda x: x*2,mylist))

      # print(li1)

      from functools import reduce

      li3 = reduce(lambda x,y: x+y, range(101))

      # print(li3)

      12、三元運算

      a,b = 1,2

      h = a-b if a>b else a+b

      # print(h)

      13、生成隨機數

      print(random.random())

      print(random.randint(1, 100))

      14、字符串單詞統計

      from collections import Counter

      mystr = 'dhasdgaskbkgagdadd;hadgajkdhklhafa'

      # print(Counter(mystr))

      15、列表推導,求奇(偶)數

      # print([x for x in range(10) if x%2 == 1])

      16、二分法查找函數

      def binary_search(data,item):

          n = len(data)

          first = 0

          last = n-1

          while first <= last:

              mid = (first+last)//2

              if data[mid] == item:

                  return mid+1

              elif data[mid] > item:

                  last = mid-1

              else:

                  first = mid+1

          return '不在列表中'

       

      l1 = [1,2,5,66,80,100]

      # print(binary_search(l1,880))

      17、字典和 json 轉換

      import json

      dict1 = {'a':1,'b':2,'c':3}

      myjson = json.dumps(dict1)

      # print(myjson)

      mydict = json.loads(myjson)

      # print(mydict)

      18、read、readline、readlines 的區別

      # read: 讀取整個文件

      # readline: 讀取下一行,使用生成器方法

      # readlines: 讀取整個文件到一個迭代器供我們遍歷

      19、打亂一個列表

      import random

      l1 = [1,2,3,4]

      random.shuffle(l1)

      # print(l1)

      20. 反轉字符串

      str1 = 'liuleqian NB'

      # print(str1[::-1])

      21、類中的各種函數

      # 主要分為實例方法、類方法和靜態方法

      # 實例方法:

      # 定義:第一個參數必須是實例對象,該參數名一般約定為“self”,通過它來傳遞實例的屬性和方法(也可以傳類的屬性和方法);

      # 調用:只能由實例對象調用。

      # 類方法:

      # 定義:使用裝飾器@classmethod。第一個參數必須是當前類對象,該參數名一般約定為“cls”,通過它來傳遞類的屬性和方法(不能傳實例的屬性和方法);

      # 調用:實例對象和類對象都可以調用。

      # 靜態方法:

      # 定義:使用裝飾器@staticmethod。參數隨意,沒有“self”和“cls”參數,但是方法體中不能使用類或實例的任何屬性和方法;

      # 調用:實例對象和類對象都可以調用。

      22、去除字符串首尾空格

      str1 = "   han   "

      # print(str1.strip())

      23、去除字符串中間的空格

      str1 = "ha haha  ha"

      # print(str1.replace(" ",""))

      print("".join(str1.split(" ")))

      以上,就是python面試基礎知識,小編還會陸續更新哦!希望大家都能找到合適的工作!

      北大青鳥網上報名
      北大青鳥招生簡章
      主站蜘蛛池模板: 亚洲av无码一区二区三区四区| 国产激情视频一区二区三区| 亚洲视频在线一区二区| 午夜无码一区二区三区在线观看 | 成人h动漫精品一区二区无码| 中文字幕在线视频一区| 四虎成人精品一区二区免费网站| 国产午夜毛片一区二区三区| 制服美女视频一区| 国产精品久久久久一区二区| 国产乱码精品一区二区三区中| 久久久久久综合一区中文字幕| 久久精品一区二区影院| 亚洲高清成人一区二区三区| 亚洲国产一区二区三区| 日本精品一区二区三区视频| 男人的天堂av亚洲一区2区| 亚洲日韩AV无码一区二区三区人| 日本不卡一区二区三区视频| 国产综合无码一区二区三区| 果冻传媒董小宛一区二区| 日产一区日产2区| 久久精品免费一区二区三区| 亚洲一区二区三区首页| 无码人妻精品一区二区| 日本一区二区免费看| 久久精品国产免费一区| 亚洲色偷偷偷网站色偷一区| 亚洲欧美国产国产一区二区三区| 国产精品香蕉在线一区| 蜜桃传媒一区二区亚洲AV| 午夜性色一区二区三区不卡视频 | 国产精品亚洲一区二区三区久久| 日韩AV片无码一区二区不卡| 国产精品一区二区香蕉| 日本一区二区高清不卡| 国模无码人体一区二区| 蜜臀AV一区二区| 无码日韩AV一区二区三区| 亚洲男人的天堂一区二区| 中文字幕人妻无码一区二区三区|