学习Python第4天

第14节:
我们根据列表、元组和字符串的共同特点,把它们三统称为什么?
1).都是通过下表index来获取元素值,并且都是从0开始
2).可以通过分片的方法得到一个范围内的元素的集合
3)有很多共同的操作符(重复操作符、拼接操作符、成员关系操作符)

  1. 请问分别使用什么 BIF,可以把一个可迭代对象转换为列表、元组和字符串?
    list([iterable]) 把可迭代对象转换为列表
    tuple([iterable]) 把可迭代对象转换为元祖
    str(obj) 把对象转换为字符串

  2. 你还能复述出“迭代”的概念吗?
    foreach
    所谓迭代, 是重复反馈过程的活动, 其目的通常是为了接近并到达所需的目标或结果。 每一次对过程的重复被称为一次“迭代”, 而每一次迭代得到的结果会被用来作为下一次迭代的初始值。

  3. 你认为调用 max(‘I love FishC.com’) 会返回什么值?为什么?
    ‘v’,都是字母通过 ASCII 码来比较大小

  4. 猜想一下 min() 这个 BIF 的实现过程
    def min(x):
    least = x[0]
    for each in x:
    if each < least:
    least = each
    return least

  5. 视频中我们说 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.

  1. 都是重复一段代码,为什么我要使用函数(而不使用简单的拷贝黏贴)呢?
  1. 可以降低代码量
  2. 可以降低维护成本
  3. 使序更容易阅读
  1. 函数可以有多个参数吗?
    可以有0~n个

  2. 创建函数使用什么关键字,要注意什么?
    def关键字
    def MyFun():
    我是函数体
    我也是函数体
    我们都属于函数 MyFun()
    噢,我不属于 MyFun() 函数的了

在缩进里面都是函数体,和Java{}类比

  1. 请问这个函数有多少个参数?

  2. def MyFun((x, y), (a, b)):

  3. return x * y - a * b
    2个元组参数(形参)

  4. 请问调用以下这个函数会打印什么内容?

  5. def hello():

  6. print(‘Hello World!’)

  7. return

  8. print(‘Welcome To FishC.com!’)

Hello World!

动动手:
0. 编写一个函数 power() 模拟内建函数 pow() ,即 power(x, y) 为计算并返回 x 的 y 次幂的值。
学习Python第4天

第16节:
学习Python第4天
0:x是形参,y是实参

1:学习Python第4天

2:避免形参与实参的顺序搞错导致一些bug出现

3:学习Python第4天

4:一个是按顺序对应,一个是按key-value对应

动动手:学习Python第4天

第17节:
学习Python第4天
学习Python第4天

学习Python第4天
:那个方法都调用了,都打印出来

学习Python第4天
Python和Java不一样的地方:这里没有写return是返回一个None对象

学习Python第4天
可以以列表和元组方式返回,列表和元组里面可以是不同类型的

学习Python第4天
打印的是1314 520

学习Python第4天
学习Python第4天
baby I love you

第18节
学习Python第4天

0:global关键字
学习Python第4天

1:nonlocal关键字
学习Python第4天

2:不能代用内部函数

学习Python第4天

直接调用funOut()就可以得到一个funInt()对象
学习Python第4天
6, 7,8