栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

看漫画学Python 第八章代码

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

看漫画学Python 第八章代码

8.1 定义函数

def rect_area(width,height):
	area = width * height
	return area

def print_area(width,height):
	area = width * height
	print("{0} × {1} 长方形的面积:{2}".format(width,height,area))

8.2.1 使用位置参数调用函数

def rect_area(width,height):
	area = width * height
	return area

r_area = rect_area(320,480)
print("{0} × {1} 长方形的面积:{2:.2f}".format(320,480,r_area))

8.2.2 使用关键字参数调用函数

def rect_area(width,height):
	area = width * height
	return area

r_area = rect_area(width = 320,height = 480)
print("{0} × {1} 长方形的面积:{2:.2f}".format(320,480,r_area))

r_area = rect_area(width = 320,height = 480)
print("{0} × {1} 长方形的面积:{2:.2f}".format(320,480,r_area))

8.3 参数的默认值

def make_coffee(name = "卡布奇诺"):
	return "制作一杯{0}咖啡".format(name)

coffee1 = make_coffee("拿铁")
coffee2 = make_coffee()

print(coffee1) #制作一杯拿铁咖啡
print(coffee2) #制作一杯卡布奇诺咖啡

8.4 可变参数

def sum(*numbers):
	total = 0.0
	for number in numbers:
		total += number
	return total

print("100 + 20 + 30 =",sum(100.0,20.0,30.0))
print("30 + 20 =",sum(30.0,20.0))

8.4.2 基于字典的可变参数

def show_info(**info):
	print("-----show_info-----")
	for key,value in info.items():
		print("{0} - {1}".format(key,value))

show_info(name = "Tony", age = 18 ,sex = True)
show_info(student_name = "Tony",student_no = 1000)

8.5 函数中变量的作用域

#创建全局变量x
x = 20

def print_value():
	x = 0
	print("函数中 x = {0}".format(x))

print_value()
print("全局变量 x = {0}".format(x))
#创建全局变量x
x = 20

def print_value():
	global x #将x变量提升为全局变量
	x = 10
	print("函数中 x = {0}".format(x))

print_value()
print("全局变量 x = {0}".format(x))

 

8.6.1 理解函数类型

#定义加法函数
def add(a,b):
	return a + b

#定义减法函数
def sub(a,b):
	return a - b

#定义计算函数
def calc(opr):
	if opr == '+':
		return add
	else:
		return sub

#定义平方函数
def square(a):
	a * a

f1 = calc('+') #f1实际上是add()函数
f2 = calc('-') #f2实际上是sub()函数
print("10 + 5 = {0}".format(f1(10,5)))
print("10 - 5 = {0}".format(f2(10,5)))

8.6.2 过滤函数filter()

#提供过滤条件函数
def f1(x):
	return x > 50 #找出大于50的元素

data1 = [65,15,91,28,98,50,7,80,99]
print(data1)
filtered = filter(f1,data1) #转换为列表
data2 = list(filtered)
print(data2)

8.6.3 映射函数map()

data1 = [65,15,91,28,98,50,7,80,99] 

filtered = filter(lambda x: (x > 50), data1)
print(data1)
data2 = list(filtered)
print(data2)

mapped = map(lambda x:(x * 2), data1)
print(data1)
data3 = list(mapped)
print(data3)

8.7 lambda()函数

def calc(opr):
	if opr == '+':
		return lambda a, b: (a + b)
	else:
		return lambda a, b: (a - b)

f1 = calc('+') #f1实际上是add()函数
f2 = calc('-') #f2实际上是sub()函数
print("10 + 5 = {0}".format(f1(10,5)))
print("10 - 5 = {0}".format(f2(10,5)))

8.8 使用更多的lambda()函数

data1 = [66,15,91,28,98,50,7,80,99]
print(data1)

filtered = filter(lambda x:(x > 50),data1)
data2 = list(filtered)
print(data2)

filtered = map(lambda x:(x * 2),data1)
data3 = list(filtered)
print(data3)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/768678.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号