5.8学习笔记(python基础教程)

本文围绕Python编程展开,介绍了函数中*params和**params收集多余参数的用法,还给出了init、lookup、store等函数的实现及步骤。此外,展示了story、interval、multipler等函数的编写,同时提及Python3中map()和reduce()函数的使用变化,并给出了实现wordcount的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

*params 收集多余参数并作为一个元组保存
def p(title,*params)

**params 收集多余参数,可以处理关键字参数并作为字典保存

//没看懂,回头再看
def init(data):
data[‘first’] = {}
data[‘middle’] = {}
data[‘last’] = {}
def lookup(data, label, name):
return data[label].get(name)
def store(data, *full_names):
for full_name in full_names:
names = full_name.split()
if len(names) == 2:
names.insert(1, ’ ')
labels = ‘first’, ‘middle’, ‘last’
for label, name in zip(labels, names):
people = lookup(data, label, name)
if people:
people.append(full_name)
else:
data[label][name] = [full_name]
d = {}
init(d)
store(d, ‘Luke Skywalker’, ‘Anakin Skywalker’)
lookup(d, ‘last’, ‘Skywalker’)

store函数执行以下步骤。
(1)使用参数data和full_name进入函数,这两个参数被设置为函数在外部获得的一些值
(2)通过拆分full_name,得到一个叫做names的列表
(3)如果names的长度为2,(只有首名和末名),那么插入一个空字符串作为中间名
(4)强字符串’first’、'middle’和’last’作为元组存储在labels中
(5)使用zip函数联合标签和名字,对于每一个(label,name)对,进行以下处理:
  获得属于给定标签和名字的列表
  将full_name添加到列表中,或者插入一个需要的新列表

def story(**kwds):
return ‘Once upon a time,there was a %(job)s called %(name)s.’ % kwds
print(story(job = ‘king’, name = ‘Gumby’))

def story(**kwds):
return ‘Once upon a time,there was a %(job)s called %(name)s.’ % kwds
params = {‘job’:‘king’, ‘name’:‘Gumby’}
print(story(**params))

def interval(start, stop=None, step=1):
if stop is None:
start, stop = 0, start
result = []
i = start
while i < stop:
result.append(i)
i += step
return result
interval(10)

def multipler(factor):
def multiplybyfactor(number):
return pow(number, factor)
return multiplybyfactor
double=multipler(2)
double(5)
结果:25
multipler(5)(4)
结果:1024

在python3里面,map()的返回值已经不再是list,而是iterators, 所以想要使用,只用将iterator 转换成list 即可, 比如 list(map())
list(map(str,range(10)))
[‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’]

在 python3 中,reduce() 函数已经被从全局名字空间里移除了,它现在被放置在 functools 模块里,如果想要使用它,则需要通过引入 functools 模块来调用 reduce() 函数:
from functools import reduce

实现wordcount
from functools import reduce //引入这个有什么用?
sentences = ['The Deep Learning textbook is a resource intended to help students and practitioners enter the field of machine learning in general and deep learning in particular. ']
print(sentences[0].count(‘learning’))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值