MOOC —— Python语言基础与应用 by 北京大学 第六章 计算和控制流(二)
了解一下封装:
容器是对数据 的封装
函数是对语句的封装
类是对方法和属性的封装
函数的用法,先定义,再调用
定义函数
def function(参数)
<缩进的代码段>
return <函数返回值>
调用函数
function(参数)
返回值赋值:v = function(参数)
变量的作用域
局部变量:函数内部有效
全局变量:整个代码段有效
global:声明全局变量,声明后可以对全局变量进行修改
如果没有定义局部变量,则使用外一层的变量
函数小技巧
map(func,list1,list2…)
lambda 有时函数只用一次,名称不重要,就用lambda
形式参数:def f(a,b): a,b是形参
实际参数:调用f(c,d): c,d是实参
固定参数:固定了顺序和数量
def func(key1,key2,key3…):
调用时,就按位置顺序输入参数: func(a,b,c)
可变参数:
def func(*args): 输入多个参数被组装成一个元组
def func(**kwargs): 输入多个参数被组装成一个字典
如果调用的参数是关键字参数
func(key1=arg1,key2=arg2…),可以不按顺序输入参数
既有位置参数,又有关键字参数,传进参数时,位置参数必须在前,关键字参数必须在后
一、创建一个函数,接受一个参数n(n>=100), 判断这个数是否为水仙花数
水仙花数:满足如果这个数为m位数,则每个位上的 数字的m次幂之和等于它本身
例如:1^3 + 5^3 + 3^3=153, 1^4 + 6^4 + 3^4 + 4^4=1634
结果返回True或者False
def sxh(x): a = str(x) s = 0 for i in range(len(a)): s += eval(a[i])**len(a) if s == x: return True else: return False 123456789
二、创建一个函数,接受一个参数max(max >= 1000),调用上题编写的判断函数,求 100到max之间的水仙花数
def s(max): s = [] for i in range(100, max + 1): sxh(i) if sxh(i) == True: s.append(i) print(s) 1234567
三、创建一个函数,接受两个字符串作为参数, 返回两个字符串字符集合的并集
例如:接受的两个字符串为"abc"和"bcd",返回 set([‘a’, ’b’, ’c’ , ’d’])
def f(a, b): c = list(set(a) | set(b)) print(sorted(c)) 123 32、计算和控制流:引用扩展模块
模块就是程序
每个扩展名为py的python程序都是一个独立的Module
组织模块
包package放在一个文件夹里的模块集合
引用方式
import module as 别名 调用时需要 别名.add()
from module import function 调用时直接用add()
下面介绍python的标准库,功能强大,实在是多。。这里给链接按需查找
英文版:https://docs.python.org/3/library/index.html
中文版:https://docs.pythontab.com/python/python3.5/stdlib.html#
扩展命名空间
表示标识符的可见范围
dir()
help()
先认识一下,,我是不怎么理解。。。
1.下列关于Python中函数的说法不正确的是()。
A.Python中定义函数的关键字是def。
B.函数内容以冒号起始,并且缩进。
C.结束函数时如果return语句不带表达式相当于无返回值。
D.在函数内部可以使用global来定义全局变量。
2.下列定义函数的方法,在Python中正确的是()。
A. class( arg1, arg2,…argN)
B. def ( arg1, arg2,…argN)
C. function (arg1,arg2,…argN)
D.def (arg1,arg2,…argN)
list(map(lambda x:len(x),['a','12','ab123'])) 1
上述代码的输出结果是____。
A. [1, 0, 2]
B. [0, 2, 3]
C. [1, 2, 5]
D. [1, 2, 3]
f1=lambda x:x*2 f2=lambda x:x**2 print(f1(f2(2))) 123
上述代码的输出结果是____。
A. 4
B. 6
C. 2
D. 8
counter=1 num=0 def tset(): global counter for i in (1,2,3): counter+=1 num=10 tset() print(counter,num) 123456789
上述代码的输出结果是____。
A. 4 0
B. 1 10
C. 4 10
D. 1 0
def Sum(a,b=3,c=5): return sum([a,b,c]) print(Sum(8,2)) 123
上述代码的输出结果是____。
7
d=lambda x:x*2 t=lambda x:x*3 a=2 a=d(a) a=t(a) a=d(a) print(a) 1234567
上述代码的输出结果是____。
答案
1、C
2、D
3、C
4、D
5、A
6、15
7、24
相关知识
Python语言基础与应用 北京大学 测试章节五
【Python】基础
《Python程序设计:人工智能案例实践》((美) 保罗·戴特尔(Paul Deitel))【简介
基于Python和PyTorch的小程序苹果病虫害识别教程
(开题)flask框架《花间故里》(程序+论文+python)
SKYNE/python
基于python的在线花店管理系统的设计与开发
森林有害生物控制(北京林业大学) 中国大学MOOC答案2024版100分完整版 – 中国大学MOOC答案
花了1个月时间,把Python库全部整理出来了,覆盖所有,建议收藏
卷积神经网络实现鸢尾花数据分类python代码实现
网址: MOOC —— Python语言基础与应用 by 北京大学 第六章 计算和控制流(二) https://www.huajiangbk.com/newsview501851.html
上一篇: C语言:打印出所有的“水仙花数” |
下一篇: C语言编写实现玫瑰花 |
推荐分享

- 1君子兰什么品种最名贵 十大名 4012
- 2世界上最名贵的10种兰花图片 3364
- 3花圈挽联怎么写? 3286
- 4迷信说家里不能放假花 家里摆 1878
- 5香山红叶什么时候红 1493
- 6花的意思,花的解释,花的拼音 1210
- 7教师节送什么花最合适 1167
- 8勿忘我花图片 1103
- 9橄榄枝的象征意义 1093
- 10洛阳的市花 1039