零基础学 Python(2018 版)
尹会生
前游戏公司技术总监,前新浪网技术经理
80146 人已学习
新⼈⾸单¥68
课程目录
已完结/共 72 讲
第一章 :Python介绍和安装 (3讲)
第二章 :Python基础语法 (3讲)
第四章 :条件与循环 (5讲)
第五章 :映射与字典 (2讲)
第六章 :文件和输入输出 (2讲)
第七章 :错误和异常 (1讲)
第九章 :模块 (1讲)
第十章 :语法规范 (1讲)
第十一章 :面向对象编程 (4讲)
第十二章 :多线程编程 (2讲)
第十六章 :综合案例 & 结课测试 (1讲)
特别放送 (1讲)
零基础学 Python(2018 版)
登录|注册
留言
15
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 23 | 函数的可变长参数
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.75x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
01 | Python语言的特点
02 | Python的发展历史与版本
03 | Python的安装
04 | Python程序的书写规则
05 | 基础数据类型
06 | 变量的定义和常用操作
07 | 序列的概念
08 | 字符串的定义和使用
09 | 字符串的常用操作
10 | 元组的定义和常用操作
11 | 列表的定义和常用操作
12 | 条件语句
13 | for循环
14 | while循环
15 | for循环语句中的if嵌套
16 | while循环语句中的if嵌套
17 | 字典的定义和常用操作
18 | 列表推导式与字典推导式
19 | 文件的内建函数
20 | 文件的常用操作
21 | 异常的检测和处理
22 | 函数的定义和常用操作
23 | 函数的可变长参数
24 | 函数的变量作用域
25 | 函数的迭代器与生成器
26 | Lambda表达式
27 | Python内建函数
28 | 闭包的定义
29 | 闭包的使用
30 | 装饰器的定义
31 | 装饰器的使用
32 | 自定义上下文管理器
33 | 模块的定义
34 | PEP8编码规范
35 | 类与实例
36 | 如何增加类的属性和方法
37 | 类的继承
38 | 类的使用-自定义with语句
39 | 多线程编程的定义
40 | 经典的生产者和消费者问题
41 | Python标准库的定义
42 | 正则表达式库re
43 | 正则表达式的元字符
44 | 正则表达式分组功能实例
45 | 正则表达式库函数match与search的区别
46 | 正则表达式库替换函数sub()的实例
47 | 日期与时间函数库
48 | 数学相关库
49 | 使用命令行对文件和文件夹操作
50 | 文件与目录操作库
51 | 机器学习的一般流程与NumPy安装
52 | NumPy的数组与数据类型
53 | NumPy数组和标量的计算
54 | NumPy数组的索引和切片
55 | pandas安装与Series结构
56 | Series的基本操作
57 | Dataframe的基本操作
58 | 层次化索引
59 | Matplotlib的安装与绘图
60 | 机器学习分类的原理
61 | Tensorflow的安装
62 | 根据特征值分类的模型和代码
63 | 网页数据的采集与urllib库
64 | 网页常见的两种请求方式get和post
65 | HTTP头部信息的模拟
66 | requests库的基本使用
67 | 结合正则表达式爬取图片链接
68 | Beautiful Soup的安装和使用
69 | 使用爬虫爬取新闻网站
70 | 使用爬虫爬取图片链接并下载图片
强势回归:零基础学Python2022版来啦!
71 | 如何分析源代码并设计合理的代码结构&结课测试
本节摘要

课程源码、课件及课后作业地址:

https://gitee.com/geektime-geekbang/geekbangpython

登录 后留言

全部留言(15)

  • 最新
  • 精选
仗剑江湖
为什么 len(first) == 1 不是计算first的长度吗?int的时候还可以报错呢,为什么是1?

作者回复: int类型不能使用len函数计算长度,准确的说是不支持,需要用str()强制转换为字符串类型或其他类型

2018-09-26
6
chi
老师,我看了其他同学的疑问也想请问您,为什么“first”是int型,而“other”就是tuple型呢?定义函数参数是如何确定呢?谢谢老师。

作者回复: 因为first 是读取了一个参数啊, 就根据参数类型确定变量类型了, other 是多个参数,就组成了tuple类型,而不是每个参数单独的类型了

2019-07-03
3
风月平分
老师您好 ; 这里的可变参数演示了获取其个数; 如果在函数体内用到了后面的其他参数。是不是得判断这个参数存不存在啊。不存在的话直接使用了。应该会出问题的吧。这一块应该如何处理。

作者回复: 根据需求来决定啊,出问题是指得到意料之外的参数数量或内容。0个参数也应该在函数得到正确的处理。一般使用 for … in 的形式遍历所有的参数,通过条件判断抛出异常等方式处理非预期的参数数量

2018-09-21
3
youyoukaka
老师,您说的int类型没有len(),我明白了,但是我有和前面留言同学一样的疑问,那other的参数如果输入234等数字,为什么可以计算出len(other)是1呢

作者回复: 使用type(other)可以发现other是tuple类型啊

2019-05-30
1
梦遴茜情
def func(a,b,c) print a print b print c fun(1, c=3,b=2) 为什么结果是1,2,3 而不是1,3,2

作者回复: fun函数在调用的时候,你传入的是关键字参数。因此2会赋值给变量B。3会赋值给变量C。

2021-03-25
sophy_sun
老师您好,关于函数的练习题1, 其中num1, *_, num2 = list(two_num) 看不懂 ,中间的*_是什么用法,能解释一下吗? # 1. 创建一个函数,用于接收用户输入的数字,并计算用户输入数字的和 def func1(): two_num = input('请输入两个数字,用空格做分隔:') # 检查用户输入是否合法 func2(two_num) num1, *_, num2 = list(two_num) print(int(num1) + int(num2))

作者回复: 这里的*_ 表示多个参数,可以用*加任意变量名称都可以,但是我用不到中间变量,没有必要为变量起名想任何恰当的名字,所以用了_作为变量名

2021-02-21
无极客
def fgh(a, *b): print('%s 和 %s' %(a,b)) fgh(2) 结果: 2 和 () 老师,请问这里为啥会输出一个括号?怎么去掉

作者回复: *b 是可变长参数,会以元组形式进行保存,如果没有对这个位置做参数赋值,结果就是一个空的元组,就是看到的()

2020-04-16
猪仔
# 练习一 函数 # 创建一个函数,用于接收用户输入的数字, # 并计算用户输入数字的和 def func1(): tow_sum = input('请输入两个数字,并用空格做分隔:') #检查输入是否合法 func2(tow_sum) num1,*_,num2 = list(tow_sum) func_num = int(num1) + int(num2) print('总和为:%s' %(func_num)) def func2(check_number): print('输入的数字为:%s' %(check_number)) func1() Connected to pydev debugger (build 193.6494.30) 请输入两个数字,并用空格做分隔:56 12 输入的数字为:56 12 总和为:7 Process finished with exit code 0 老师,请问计算总和的结果是什么原因导致错误的,方便解析下?

作者回复: tow_sum得到得结果是'56 12' list(tow_sum)之后就变成了['5', '6', ' ', '1', '2'] 所以最后计算的时候,取到的就是5 和 2 了

2020-03-16
yuyejisi
老师,问一下,为什么这里的first取值变成了三? #取的参数的个数 def howling(first, *other):#由于直接输入 print(len(first)+len(other)) return len(first)+len(other) str_a = str(input('请输入一串数字或字母:')) print(type(str_a)) howling(str_a,234,335,654) 请输入一串数字或字母:abc <class 'str'> 6

作者回复: len(first) 取到的是字符串长度 3

2020-03-08
浪费的时间
疑问:当使用关键词参数时,前面可以匿名,但从使用的数往后必须实名,比如以下情况 错误示范 func(a=1,b=2,3) 可是 func(1,b=2) 也是错误的? 明明print('abc', end='111\n')就可以这么写

作者回复: 检查一下func()函数的定义

2020-02-06
收起评论