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

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