'''
1.實現用戶傳入一個普通字符串,
返回字符串的md5加密結果的函數
'''
# import hashlib
#
# def M(str):
# m = hashlib.md5()
# m.update(str.encode('utf8'))
# return m.hexdigest()
#
# s = M('stoll')
# print(s)
#函數對象的四大功能
#1. 引用(和變量一樣)
# x = "hello nick"
# y = x
# def func():
# print('from func')
# f = func
# print(func) #打印的是函數的內存地址
#2. 當做參數傳給一個函數 (和變量一樣)
# len(x)
# def foo(m):
# m()
# foo(func)
#3. 當做函數的返回值
# def foo(x):
# return x
#
# res = foo(func)
# print(res)
# res()
#4. 可以當做容器類型的元素
# l = [x]
#
# function_list = [func]
# function_list[0]()
'''
return和yield關鍵字的區別
相同點
功能都是返回程序執行結果
區別
yield返回執行結果并不中斷程序執行,
return在返回執行結果的同時中斷程序執行。
'''
'''
模塊搜索的順序
1. 先從內存中找
2. 內置的模塊
3. 環境變量sys.path中找
'''
'''
包中的__init__文件有以下作用:
1.標識該文件是Package
2.模糊導入中的*中的模塊是由__all__來定義的,
定義__all__用來模糊導入
'''
"""
1. 使用while循環實現for循環底層原理
# 提示:使用下述代碼可以捕捉異常
try:
# 邏輯代碼
except StopIterationError:
break
"""
# 1. 首先使用iter把lt變成迭代器對象;對于文件也要使用iter方法吧文件再一次iter下
# 2. 然后使用next方法進行迭代取值
# 3. 判斷StopIteration異常,遇到異常終止
# lt = [2,2,3,5] # 對該列表進行循環取值
# lt_iter = lt.__iter__() # 把列表(可迭代對象)變成迭代器對象
# while 1: # 只要是true,就執行
# try:
# print(lt_iter.__next__())
# except StopIteration: # 遇到異常就拋出,為什么會拋異常,因為while會一直循環,但是迭代器對象只能遇到執行4個__next__,第五個沒有了,就會遇到異常
# break
lt=[1,2,3,4,5,5]
lt_iter = lt.__iter__()
while 2:
try:
print(lt_iter.__next__())
except StopIteration:
break
"""
2. 閱讀需求,編寫代碼:
1. 規定使用filter()內置函數和匿名函數
2. 將`names = ['Nick', 'Sean_sb', 'Tank_sb', 'Jason_sb']`中
留下以sb結尾的名字
"""
# names = ['Nick', 'Sean_sb', 'Tank_sb', 'Jason_sb']
# 結果為:['Sean_sb', 'Tank_sb', 'Jason_sb']
print(list(filter(lambda a: a.endswith('sb'), names)))
# print(list(filter(lambda x: x.startswith('s'.upper()), names)))
"""
3. 閱讀需求,編寫代碼:
1. 自定義生成器
2. 該生成器擁有range()函數擁有的功能
"""
def self_range(start, end, step):
list = [start, end]
print(start)
while list[0] < list[1]:
yield list[0]
list[0] += step
#
for i in self_range(1, 10, 2):
print(i)
"""
# 結果為:
for i in self_range(1, 10, 2):
print(i) # 1,3,5,7,9
4. 閱讀需求,編寫代碼:
1. 自定義3\*4的numpy數組,
2. 把第1行和第2列的元素置為0
import numpy as np
# 結果為:
'''
array([[0. , 0. , 0. , 0. ],
[0.22721118, 0. , 0.87410034, 0.85833497],
[0.40389177, 0. , 0.42199234, 0.87709706]])
'''
l = np.empty((3, 4))
arr = l.copy()
arr[:1, :] = 0
arr[:, 1:2] = 0
print(arr)
5. 閱讀需求,編寫代碼:
1. 對于字符串`Life234234is beautiful234because234of persistence`
2. 請使用re模塊 **一行代碼** 還原這句話為`Life is beautiful because of persistence`
"""
import re
s = 'Life234234is beautiful234because234of persistence'
# 結果為:Life is beautiful because of persistence
l = re.sub('234',' ', s)
print(l)
解壓縮
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
