第14节:
我们根据列表、元组和字符串的共同特点,把它们三统称为什么?
1).都是通过下表index来获取元素值,并且都是从0开始
2).可以通过分片的方法得到一个范围内的元素的集合
3)有很多共同的操作符(重复操作符、拼接操作符、成员关系操作符)
请问分别使用什么 BIF,可以把一个可迭代对象转换为列表、元组和字符串?
list([iterable]) 把可迭代对象转换为列表
tuple([iterable]) 把可迭代对象转换为元祖
str(obj) 把对象转换为字符串
你还能复述出“迭代”的概念吗?
foreach
所谓迭代, 是重复反馈过程的活动, 其目的通常是为了接近并到达所需的目标或结果。 每一次对过程的重复被称为一次“迭代”, 而每一次迭代得到的结果会被用来作为下一次迭代的初始值。
你认为调用 max(‘I love FishC.com’) 会返回什么值?为什么?
‘v’,都是字母通过 ASCII 码来比较大小
猜想一下 min() 这个 BIF 的实现过程
def min(x):
least = x[0]
for each in x:
if each < least:
least = each
return least
视频中我们说 sum() 这个 BIF 有个缺陷,就是如果参数里有字符串类型的话就会报错,
请写出一个新的实现过程,自动“无视”参数里的字符串并返回正确的计算结果
通过改变实现过程,筛选出不是同一数据类型的
def sum(x):
result = 0
for each in x:
if (type(each) == int) or (type(each) == float):
result += each
else:
continue
return result
第15节:
你有听说过 DRY 吗?
DRY 是程序员们公认的指导原则: Don’t Repeat Yourself.
函数可以有多个参数吗?
可以有0~n个
创建函数使用什么关键字,要注意什么?
def关键字
def MyFun():
我是函数体
我也是函数体
我们都属于函数 MyFun()
噢,我不属于 MyFun() 函数的了
在缩进里面都是函数体,和Java{}类比
请问这个函数有多少个参数?
def MyFun((x, y), (a, b)):
return x * y - a * b
2个元组参数(形参)
请问调用以下这个函数会打印什么内容?
def hello():
print(‘Hello World!’)
return
print(‘Welcome To FishC.com!’)
Hello World!
动动手:
0. 编写一个函数 power() 模拟内建函数 pow() ,即 power(x, y) 为计算并返回 x 的 y 次幂的值。
2:避免形参与实参的顺序搞错导致一些bug出现
4:一个是按顺序对应,一个是按key-value对应
Python和Java不一样的地方:这里没有写return是返回一个None对象
2:不能代用内部函数