8.1 定义函数

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

8.2.1 使用位置参数调用函数

def rect_area(width,height):area = width * heightreturn arear_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 * heightreturn arear_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.0for number in numbers:total += numberreturn totalprint("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 = 20def print_value():x = 0print("函数中 x = {0}".format(x))print_value()
print("全局变量 x = {0}".format(x))
#创建全局变量x
x = 20def print_value():global x #将x变量提升为全局变量x = 10print("函数中 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 addelse:return sub#定义平方函数
def square(a):a * af1 = 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)

看漫画学Python 第八章代码相关推荐

  1. 看漫画学Python 第二章代码

    2.3 变量 greeting = "HelloWorld" print(greeting)student_score = 0.0 print(student_score)y = ...

  2. 看漫画学python电子书-看漫画还能学Python❓❓❓| 0基础小白福音

    ��你还在枯燥无味地学编程吗?你还在闷头背诵那些根本没有理解的内容?根本不用那么煎熬!想不想来体验一下翻着漫画就搞定Python的感觉?? <看漫画学Python:有趣.有料.好玩.好用(全彩版 ...

  3. python入门学习[看漫画学Python:有趣、有料、好玩、好用读书笔记]

    写在前面:本文中绝大多数图片来源于图书:看漫画学Python:有趣.有料.好玩.好用,本文仅供个人学习使用,如有侵权,请联系删除. 学习编程语言最好的方式就是多写,多写,多写!!!哪有什么快速掌握,能 ...

  4. 火爆全网,495页《看漫画学Python》全彩PDF免费分享,入门编程培养兴趣首选

    在当下全民互联网,大数据的时代,Python已然成为了学习大数据.人工智能时代的首选编程语言,Python因上手简单被越来越多的人所喜爱,近几年更是在各类语言使用排行榜中稳居第一,而且每年是用人数还在 ...

  5. 爆火的《看漫画学Python》出PDF版了,文末自取

    学习Python的小伙伴大部分应该都知道<看漫画学Python:有趣.有料.好玩.好用(全彩版)>这本书! 毕竟,如果在B站搜索"漫画 Python"等相关关键词,会看 ...

  6. 看漫画学python 怎么样_看着漫画学Python是种怎样的体验?

    你还在枯燥无味地学编程吗? 你还在闷头背诵那些根本没有理解的内容吗? 根本不用那么煎熬!想不想来体验一下翻着漫画就搞定Python的感觉?? <看漫画学Python:有趣.有料.好玩.好用(全彩 ...

  7. 【零基础学python】:华为官方出品的《看漫画学Python》全彩PDF,495页资源分享

    前言 说起编程语言,Python 也许不是使用最广的,但一定是现在被谈论最多的.随着近年大数据.人工智能的兴起,Python 越来越多的出现在人们的视野中. 在各家公司里,Python 还常被用来做快 ...

  8. 《看漫画学Python(全彩版)》

    学习Python的小伙伴大部分应该都知道<看漫画学Python:有趣.有料.好玩.好用(全彩版)>这本书! 毕竟,如果在B站搜索"漫画 Python"等相关关键词,会看 ...

  9. 看漫画学python 豆瓣_你最大的问题在于学python太枯燥(看漫画学python)

    如果你只是停留在看书看教程自学的学习方式 很少能有人从这种死胡同走出来,这种学习方式往往也特别无聊! 要是以就业为目的学习Python还是需要通过一个系统的学习来培养代码思路 无论我们学习Python ...

最新文章

  1. pytorch方法,Tensor及其基本操作_重点
  2. 1小时学会:最简单的iOS直播推流(二)代码架构概述
  3. 所有的中台都是业务中台
  4. 探讨SQL Server 2005.NET CLR编程
  5. python调用ffmpeg_Python - FFmpeg
  6. Atomic Integer 原理分析-getAndIncrement
  7. html循环加载多个图片,两行代码实现图片碎片化加载
  8. python将图像转换为8位单通道_使用Python将图片转换为单通道黑白图片
  9. C语言ASM汇编内嵌语法【转】
  10. JDBC第二篇 【PreparedStatment、批处理、处理二进制、自动主键、调用存储过程、函数】...
  11. K-means算法的学习笔记
  12. ros开发增加clion常用模板及初始化配置(四)
  13. Python中常用的一些库
  14. Camera启动过程简述(MTK)
  15. 电脑计算机稳定删除垃圾游戏,电脑卡怎么办简单步骤_如何清理电脑垃圾
  16. 电信运营商移动互联网发展分析
  17. 【基础知识】~ 建立时间/保持时间
  18. 在keil中创立一个头文件
  19. 南京湖南路学计算机哪家好,在南京只知道夫子庙湖南路你就OUT了!真正的美食街在此!!...
  20. 让技术Leader狂点赞的Linux速成手册,到底有多强悍?

热门文章

  1. linux parted 直接删除分区,CentOS7硬盘分区,删除分区,格式化分区硬盘,支持4T硬盘,fdisk,parted简单用法...
  2. lora手持终端PDA设备
  3. UV法测量cod原理及特点
  4. webbench源码学习--命令行选项解析函数getopt和getopt_long函数
  5. 计算墨水污染的格子【非常规墨水污染】
  6. 小米2017校招面试经历
  7. 【BAT】修改指定的文件名称为系统当前日期
  8. python白噪声检验_时间序列 平稳性检验 白噪声 峰度 偏度
  9. 学习Unity3D之探照灯效果和相机跟随。
  10. AndroidManifest.xml 最全详解(转载)