Python基础教程(第3版)中文版 第6章 函数(笔记)

简介: Python基础教程(第3版)中文版 第6章 函数(笔记)

                                      第6章 函数

1.懒惰是一种美德(代码重用)

2.抽象和结构

抽象可节省人力,更容易被人理解。

抽象隐藏具体细节。

3.自定义函数

函数执行操作并返回一个值。

使用def (define的缩写) 定义函数

def hello(name):

   return'Hello, ' + name + '!'

def 下面添加字符串就是给函数添加文档字符串

def square(x):

   'Calculates the square of the number x.'

   return x*x;

访问文档: 使用 square.__doc__

获取函数相关信息:help()

没有返回值的函数:不包含return,或return后面是空的。

4.参数

给函数传递一个数,在函数内无法改变这个数的值

参数为可变的数据结构(如列表)将改变

#和C语言的函数参数类似。

#可以借助列表修改参数

调用参数时指定参数名称如:

hello_1(greeting='Hello', name='world')

指定名称的参数叫 关键字参数

定义关键字参数函数时,可以提供默认值

收集参数:*params *会收集多余的参数,不会收集关键字参数 得到序列

** 可收集关键字参数 得到字典

分配参数:

*

**

在调用函数时 将分配参数

5.作用域

此处作用域的概念类似C语言。

使用函数globals来访问全局变量,它返回一个包含全局变量的字典

重新关联全局变量(在函数内部给全局变量赋值)

通过  global 变量名 ,使用全局变量。

函数内可嵌套定义

#C语言不允许嵌套定义函数

作用域也将嵌套,内部函数可访问外部的局部作用域

#nonlocal 类似global 给外部作用域内变量赋值

6.递归

调用自身

#与C语言类似

以阶乘为例:

def fac(n):

   if n == 1:

       return 1

   else

       return n * fac(n - 1)


相关文章
|
8天前
|
数据采集 小程序 数据库
20年“镇国级”IT大牛,竟搞出500页漫画Python零基础顶级教程!
乔布斯说每个人都应该学习一门编程语言。Python正热,我决定通过编程让自己习得一种思考问题的方式,这也是我在个人编程生涯中的最大收获。 我以为只能枯燥无味地学编程,直到看到本书的样章,以漫画形式让我更直观、生动地了解到什么是编程。超级喜欢这种漫画风格。我回想起自己当年学习编程语言时的情景:逼迫自己背诵和消化、吸收那些自己根本没有理解的内容。如果当时有这么一本书,我就不会学得那么艰难,然后用了那么久才摸索成为一名“攻城狮”。
|
1天前
|
Python
Python中使用函数参数
【7月更文挑战第23天】
10 2
|
3天前
|
机器学习/深度学习 算法 搜索推荐
从理论到实践,Python算法复杂度分析一站式教程,助你轻松驾驭大数据挑战!
【7月更文挑战第22天】在大数据领域,Python算法效率至关重要。本文深入解析时间与空间复杂度,用大O表示法衡量执行时间和存储需求。通过冒泡排序(O(n^2)时间,O(1)空间)与快速排序(平均O(n log n)时间,O(log n)空间)实例,展示Python代码实现与复杂度分析。策略包括算法适配、分治法应用及空间换取时间优化。掌握这些,可提升大数据处理能力,持续学习实践是关键。
13 1
|
3天前
|
网络协议 关系型数据库 数据挖掘
python小白快速入门教程
Python是一种解释型、面向对象、动态数据类型的高级编程语言。
13 1
|
6天前
|
程序员 Python
python中那些双下划线开头得函数和变量
python中那些双下划线开头得函数和变量
13 2
Python函数:函数的定义和调用
本文详细介绍了Python函数的定义和调用方法,包括基本函数定义、参数传递、返回值、文档字符串、作用域、嵌套函数和闭包。通过一个综合详细的学生成绩管理系统的例子,我们展示了如何在实际编程中应用这些函数概念。希望本文对您理解和应用Python函数有所帮助。
|
10天前
|
调度 Python
揭秘Python并发编程核心:深入理解协程与异步函数的工作原理
【7月更文挑战第15天】Python异步编程借助协程和async/await提升并发性能,减少资源消耗。协程(async def)轻量级、用户态,便于控制。事件循环,如`asyncio.get_event_loop()`,调度任务执行。异步函数内的await关键词用于协程间切换。回调和Future对象简化异步结果处理。理解这些概念能写出高效、易维护的异步代码。
14 2
|
3天前
|
存储 JSON API
实战派教程!Python Web开发中RESTful API的设计哲学与实现技巧,一网打尽!
【7月更文挑战第22天】构建RESTful API实战:**使用Python Flask设计图书管理API,遵循REST原则,通过GET/POST/PUT/DELETE操作处理/books及/books/<id>。示例代码展示资源定义、请求响应交互。关键点包括HTTP状态码的使用、版本控制、错误处理和文档化。本文深入探讨设计哲学与实现技巧,助力理解RESTful API开发。
12 0
|
16天前
|
安全 Python
告别低效编程!Python线程与进程并发技术详解,让你的代码飞起来!
【7月更文挑战第9天】Python并发编程提升效率:**理解并发与并行,线程借助`threading`模块处理IO密集型任务,受限于GIL;进程用`multiprocessing`实现并行,绕过GIL限制。示例展示线程和进程创建及同步。选择合适模型,注意线程安全,利用多核,优化性能,实现高效并发编程。
28 3
|
16天前
|
数据采集 大数据 数据安全/隐私保护
Python编程:如何有效等待套接字的读取与关闭
Python网络编程中,套接字事件处理至关重要。利用`selectors`模块和代理IP能增强程序的稳定性和可靠性。代码示例展示了如何通过代理连接目标服务器,注册套接字的读写事件并高效处理。在代理IP配置、连接创建、事件循环及回调函数中,实现了数据收发与连接管理,有效应对网络爬虫或聊天应用的需求,同时保护了真实IP。
Python编程:如何有效等待套接字的读取与关闭