面試總結之Python

source codehtml

  • https://github.com/haoran119/interview/tree/master/interview%20summary%20of%20python

[ZZ]知名互聯網公司Python的16道經典面試題及答案 - 浩然119 - 博客園python

  • https://www.cnblogs.com/pegasus923/p/8674215.html

百度大牛總結十條Python面試題陷阱,看看你是否會中招 - Python編程c++

  • https://mp.weixin.qq.com/s/58KjB7NCbQCMMGZD9CTWFQ
  • https://www.toutiao.com/i6550223737344492039/

Python練手題,敢來挑戰嗎? - Python編程git

  • https://mp.weixin.qq.com/s/y5Ghh0V08oKjCdw68NsLBg
  • https://blog.csdn.net/yang_bingo/article/details/80285205

Python面試攻略(coding篇)- Python編程github

  • https://mp.weixin.qq.com/s/bBFt6VMe4PJg_A9rntVCLw
  • https://blog.csdn.net/u013205877/article/details/77542837
  • https://github.com/taizilongxu/interview_python

2018年最多見的Python面試題&答案(上篇)- Python編程面試

  • https://mp.weixin.qq.com/s/qk62Xkm53QA-3uJ8vTphiA
  • https://juejin.im/post/5b6bc1d16fb9a04f9c43edc3

100+Python編程題給你練~(附答案)- AI科技大本營算法

  • https://mp.weixin.qq.com/s/2C-njN_WSVhvqIV7L4hycA
  • https://github.com/zhiwehu/Python-programming-exercises/blob/master/100%2B%20Python%20challenging%20programming%20exercises.txt

Python 面試問答 Top 25 - 機器學習算法與Python學習編程

  • https://mp.weixin.qq.com/s/ICHzi70ygAzKllc-xUKEcg

春招苦短,我用百道Python面試題備戰 - 機器之心app

  • https://mp.weixin.qq.com/s/qaMiTgRaeDRS59N4DiCYNw
  • https://github.com/kenwoodjw/python_interview_question

110道python面試題 - Python愛好者社區機器學習

  • https://mp.weixin.qq.com/s/DlD64oec7P-rNIFoN6DN1g

Python 面試中 8 個必考問題 - 機器學習算法與Python學習

Python 爬蟲面試題 170 道:2019 版


函數參數

  • Python3 函數 | 菜鳥教程
    • http://www.runoob.com/python3/python3-function.html
    • 在 python 中,strings, tuples, 和 numbers 是不可更改的對象,而 list,dict 等則是能夠修改的對象。
      • 不可變類型:變量賦值 a=5 後再賦值 a=10,這裏實際是新生成一個 int 值對象 10,再讓 a 指向它,而 5 被丟棄,不是改變a的值,至關於新生成了a。
      • 可變類型:變量賦值 la=[1,2,3,4] 後再賦值 la[2]=5 則是將 list la 的第三個元素值更改,自己la沒有動,只是其內部的一部分值被修改了。
    • python 函數的參數傳遞:
      • 不可變類型:相似 c++ 的值傳遞,如 整數、字符串、元組。如fun(a),傳遞的只是a的值,沒有影響a對象自己。好比在 fun(a)內部修改 a 的值,只是修改另外一個複製的對象,不會影響 a 自己。
      • 可變類型:相似 c++ 的引用傳遞,如 列表,字典。如 fun(la),則是將 la 真正的傳過去,修改後fun外部的la也會受影響
    • python 中一切都是對象,嚴格意義咱們不能說值傳遞仍是引用傳遞,咱們應該說傳不可變對象和傳可變對象。
 1 # -*- coding: utf-8 -*-
 2 """
 3 @author: hao
 4 """
 5 
 6 def myfun1(x):
 7       x.append(1)
 8 
 9 def myfun2(x):
10       x += [2]
11 
12 def myfun3(x):
13       x[-1] = 3
14 
15 def myfun4(x):
16       x = [4]
17 
18 def myfun5(x):
19       x = [5]
20       return x
21 
22 # create a list
23 mylist = [0]
24 print(mylist)     # [0]
25 
26 # change list
27 myfun1(mylist)
28 print(mylist)     # [0, 1]
29 
30 # change list
31 myfun2(mylist)
32 print(mylist)     # [0, 1, 2]
33 
34 # change list
35 myfun3(mylist)
36 print(mylist)     # [0, 1, 3]
37 
38 # did NOT change list
39 myfun4(mylist)
40 print(mylist)     # [0, 1, 3]
41 
42 # return a new list
43 mylist = myfun5(mylist)
44 print(mylist)     # [5]
45 
46 
47 def myfun(x=[1,2]):
48       x.append(3)
49       return x
50 
51 print(myfun())    # [1, 2, 3]
52 
53 # result is not [1, 2, 3] coz x was changed
54 print(myfun())    # [1, 2, 3, 3]
View Code

Consecutive assignment

  • Assignment against list is shallow copy.
 1 a = b = 0
 2 
 3 a = 1
 4 
 5 print(a)  # 1
 6 print(b)  # 0
 7 
 8 a = b = []
 9 
10 a.append(0)
11 
12 print(a)  # [0]
13 print(b)  # [0]
14 
15 a = []
16 b = []
17 
18 a.append(0)
19 
20 print(a)  # [0]
21 print(b)  # []
View Code
相關文章
相關標籤/搜索