IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 学习python的第14天 -> 正文阅读

[Python知识库]学习python的第14天

Python函数(函数定义,函数调用)

前面我们用过的input(),print(),len(),range()函数,都是python的内置函数。

除此之外,python还支持自定义函数,达到一次编写,多次调用的目的。我们知道通过len()函数可以获取字符串的长度,倘若我们没有len()函数呢,可以这样:

    n=0
    for c in "http://c.biancheng.net/python/":
       n = n + 1
    print(n)
要知道,获取一个字符串长度是常用的功能,一个程序中就可能用到很多次,如果每次都写这样一段重复的代码,不但费时费力、容易出错,而且交给别人时也很麻烦。

所以 Python 提供了一个功能,即允许我们将常用的代码以固定的格式封装(包装)成一个独立的模块,只要知道这个模块的名字就可以重复使用它,这个模块就叫做函数(Function)。

?我们来介绍一下如何定义一个函数

函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。
任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
函数内容以冒号 : 起始,并且缩进。
return [表达式] 结束函数,选择性地返回一个值给调用方,不带表达式的 return 相当于返回 None。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 图示

?

?那么我们就可以把上面自制的len()函数封装成一个函数

    #自定义 len() 函数
    def my_len(str):
        length = 0
        for c in str:
           length = length + 1
        return length
    #调用自定义的 my_len() 函数
    length = my_len("http://c.biancheng.net/python/")
    print(length)
    #再次调用 my_len() 函数
    length = my_len("http://c.biancheng.net/shell/")
    print(length)

程序执行结果为

30
29

通过上面的例子我们不难看出,函数的使用大致分两步,分别是定义函数和调用函数

1.定义函数具体语法格式抽象为

def 函数名(参数列表):
    //实现特定功能的多行代码
    [return [返回值]]

此格式中,各部分参数含义如下


1.函数名:其实就是一个符合 Python 语法的标识符,但不建议读者使用 a、b、c 这类简单的标识符作为函数名,函数名最好能够体现出该函数的功能(如上面的 my_len,即表示我们自定义的 len() 函数)。
2.形参列表:设置该函数可以接收多少个参数,多个参数之间用逗号( , )分隔。
3.[return [返回值] ]:整体作为函数的可选参参数,用于设置该函数的返回值。也就是说,一个函数,可以用返回值,也可以没有返回值,是否需要根据实际情况而定。

另外需要注意

注意,在创建函数时,即使函数不需要参数,也必须保留一对空的“()”,否则 Python 解释器将提示“invaild syntax”错误。另外,如果想定义一个没有任何功能的空函数,可以使用 pass 语句作为占位符。

例如

    #定义个空函数,没有实际意义
    def pass_dis():
        pass
    #定义一个比较字符串大小的函数
    def str_max(str1,str2):
        str = str1 if str1 > str2 else str2
        return str

另外值得一提的是,函数中的return语句可以直接返回一个表达式的值,如修改什么的str_max函数

    def str_max(str1,str2):
        return str1 if str1 > str2 else str2

当然我们不过是省略了创建str变量,实际上作用完全相同

2.函数调用

我们调用上文定义了两个函数

    pass_dis()
    strmax = str_max("http://c.biancheng.net/python","http://c.biancheng.net/shell");
    print(strmax)

那么

首先,对于调用空函数来说,由于函数本身并不包含任何有价值的执行代码,也没有返回值,应该调用空函数不会有任何效果。

其次,对于上面程序中调用 str_max() 函数,由于当初定义该函数为其设置了 2 个参数,因此这里在调用该参数,就必须传入 2 个参数。同时,由于该函数内部还使用了 return 语句,因此我们可以使用 strmax 变量来接收该函数的返回值。

因此程序的执行结果为

http://c.biancheng.net/shell

本来想写写类和对象,发现自己基础知识还欠缺,了解了一些但不太懂,写不太出来

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-08-12 16:33:29  更:2021-08-12 16:35:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 4:54:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码