Pythonのインタビュー百本の質問 - 包括的なタイトル(2)

ディレクトリ

  1. 浅いコピー(コピー)とディープコピー(DeepCopy)
  2. 発電機を書く、2次元のリストは、一次元のリストに変換されます
  3. 1次元リストに再帰的なジェネレータ、任意の多次元リストを作成してください。
  4. 現在の日付と年の各日の日付を取得する方法
  5. プロセス間通信
  6. スレッド関数にパラメータを渡す方法
  7. スレッドでグローバルオブジェクトを作成して使用する方法
  8. あなたはコルーチンを知っていますか

0.1浅いコピー(コピー)とディープコピー(DeepCopy)

ここに画像を挿入説明

'''
copy:只复制深层对象的引用
deepcopy:复制深层对象的本身
'''
import copy

a = [1, 2, 3, 4, ['a', 'b']]

c = copy.copy(a)    # 浅拷贝
d = copy.deepcopy(a)    # 深拷贝

a.append(5) # 在顶层,无论浅还是深,顶层都完全复制
print(c)	# [1, 2, 3, 4, ['a', 'b']]
print(d)	# [1, 2, 3, 4, ['a', 'b']]

a[4][0] = 'x'
print(a)	# [1, 2, 3, 4, ['x', 'b'], 5]
print(d)	# [1, 2, 3, 4, ['a', 'b']]

概要
ここに画像を挿入説明

発電機の0.2調製、二次元の一次元リストにリスト

ここに画像を挿入説明

'''
生成器:yield
'''
def myGenerator():
    numlist = [1, 2, 3, 4 , 5, 6, 7]
    for num in numlist:
        yield num

for num in myGenerator():
    print(num, end=' ')	# 1 2 3 4 5 6 7 

[[1, 2, 3], [2, 3, 4]] ---> [1. 2. 3. 2. 3. 4]
def enumList(nestedList):
    for subList in nestedList:
        for element in subList:
            yield element

nestedList = [[1, 2, 3], [2, 3, 4]]
for num in enumList(nestedList):
    print(num, end=' ')	
1 2 3 2 3 4 

概要
ここに画像を挿入説明

0.3 1次元リストに再帰的なジェネレータ、任意の多次元リストを作成してくださいに

ここに画像を挿入説明

def enumList(nestedList):
    try:
        for subList in nestedList:
            for element in enumList(subList):
                yield element
    except TypeError:
        yield nestedList    # 迭代单个值

nestedList = [4, [1, 2, 3], [2, 3, 4, [1, [2, 5], [2, 3], 5], 6]]
for num in enumList(nestedList):
    print(num, end=' ')
4 1 2 3 2 3 4 1 2 5 2 3 5 6    

概要
ここに画像を挿入説明

現在の日付と年の最初の数日の日付を取得する方法0.4、それぞれ、

ここに画像を挿入説明

import time

localtime = time.localtime(time.time())

print(localtime.tm_year)	# 2020
print(localtime.tm_mon)		# 2
print(localtime.tm_mday)	# 29(这个月第29天)
print(localtime.tm_hour)	# 21
print(localtime.tm_yday)	# 60(今年第60天)

概要
ここに画像を挿入説明

プロセス間通信0.5

ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
.join()待ち、)(.join書き込み、次の即時実行しないでください

0.6スレッド関数にパラメータを渡す方法

ここに画像を挿入説明
ここに画像を挿入説明
概要
ここに画像を挿入説明

スレッドでグローバルオブジェクトを作成して使用する方法0.7

ここに画像を挿入説明
現在のスレッドのみのグローバル変数は、複数のスレッド間で共有することはできません
ここに画像を挿入説明
概要
ここに画像を挿入説明

0.8あなたはそれがコルーチン理解します

ここに画像を挿入説明
トピックの
ここに画像を挿入説明
タイトル2
1.runの
ここに画像を挿入説明
2.create_taskの
ここに画像を挿入説明
概要
ここに画像を挿入説明

公開された21元の記事 ウォンの賞賛5 ビュー1561

おすすめ

転載: blog.csdn.net/qq_36551226/article/details/104581048