首页 > 编程语言 >Python教程(14)——Python函数的入门学习

Python教程(14)——Python函数的入门学习

时间:2023-09-24 17:24:31浏览次数:44  
标签:教程 14 Python add result print numbers 函数

函数是什么?在编程中,函数是一段可重用的代码块,用于完成特定任务或执行特定操作。它可以接输入参数并返回一个值或执行一系列操作。函数可以帮助程序员将代码模块化,提高代码的可读性和可维护性。

函数通常包括以下组成部分:

  1. 函数名:用于标识函数,并可以通过函数名调用执行该函数。
  2. 参数:输入给函数的值,在函数内部可以使用参数进行操作或计算。
  3. 函数体:包含函数执行的代码块。在函数体中可以进行各种操作、计算、逻辑判断等任务。
  4. 返回值:函数可以返回处理结果,供调用者使用。

每种编程语言对于函数的语法规范可能所有不同,但是都是包含函数组成部分的。

Python函数组成

Python函数的定义通包括以下几个部分:

  1. 函数头部:使用关键字 def 开始,后跟函数名和一对圆括号 ( )。圆括号内可以包含函数的参数,多个参数之间用逗号分隔,最后在右括号)之后要加个冒号:无论是括号还是冒号一定都要是英文状态下的。
  2. 函数体:函数体是由函数的操作逻辑组成的代码块,函数体内的代码需要缩进,通常使用4个空格或制表符(Tab键)进行缩进。
  3. 函数返回值:函数可以返回一个值使用关键字 return 后跟要返回的值。

以下是一个简单的示例,展示了一个算两个数之和的函数:

def add_numbers(num1, num2):
	sum = num1 + num2
    return sum

result = add_numbers(5, 3)
print(result)  # 输出:8

在这个示例中,函数 add_numbers 接收两个参数 num1num2,计算它们的和并返回结果。通过调用 add_numbers(5, 3) 可以得到结果 8将结果赋值给变 result,最后打印 result 的值。

Python函数解释

上述的add_numbers是个非常简单的函数,但是初学者朋友如果不注意相关规则的话,可能会造成怀疑人生的结果。

正如Python函数的语法组成那样,Python是用def开头来定义一个函数的,然后空格后跟上函数名add_numbers,我们专业一点的叫法的话,叫函数定义,在使用一个函数之前,必须先定义,否则就会报语法错误。

比如我们像下面这样书写,就不行的,会一个NameError的错误。NameError: name 'add_numbers' is not defined

result = add_numbers(5, 3)

def add_numbers(num1, num2):
    sum = num1 + num2
    return sum

print(result) 

接着加上括号,括号里面跟上参数名,这里的参数名我们称之为形式参数,简称形参,这个在编程当中是一个比较重要的概念,特别是在C语言当中。然后右括号后面加上一个冒号,后面就另起一行写函数体,当然在一些非常简单的函数体当中,可能直接跟在冒号后面,比如:

if a == 1: return 1

在leetcode编程中,这种写法也经常见到。

如果是超过一行的,一般都是另起一行写函数体。函数体内的代码需要缩进,通常使用4个空格或制表符进行缩进。这里要特别注意,在函数体中, 要不都用4个空格,要不就用制表符,千万不要混用 ,一个制表符又刚好等于4个空格,所以从表面上看确实是对齐了,对于没有编程经验的初学者来说,一旦混用,又不懂得利用搜索引擎的话,可能一个晚上你都会困在那里,百思不得其解。

混用的话,一般会报以下错误:

IndentationError: unindent does not match any outer indentation level


意思大概就是说你缩进不匹配,大概率就是制表符和空格混用了!但是如果你是用PyCharm等一些高级的IDE,可能这些IDE会自动帮你修正这些对齐的bug,而如果你是从其他编辑器复制代码到PyCharm中的,这些没有对齐的错误并不会自动的修正,还是需要你手动就纠正的,所以还是推荐大家尽量使用PyCharm编写Python代码。

Python函数类型

Python当中有各种类型的函数,像上面那种就是比较普通的自定义函数,顾名思义,就是自己定义的函数。在 Python 中,还有以下几种常见的函数类型。

内置函数

Python 提供了一些内置函数,可以直接使用,不需要导入任何模块,如 print()len()type() 等,

匿名函数

匿名函数也称为 lambda 表达式,是一种简洁的函数定义方式,通常用于一次性的简单函数。例如:

multiply = lambda x, y: x * y
result = multiply(3, 5)
print(result)  # 输出 15

闭包函数

闭包函数是指在一个函数内部定义了另一个函数,并且内部函数可以访问外部函数的变量。这种函数形式可以用来创建一些特定的函数,例如函数工厂或者装饰器。

def outer_function(x):
    def inner_function(y):
        return x + y
    return inner_function

add_5 = outer_function(5)
result = add_5(3)
print(result)  # 输出 8

生成器函数

生成器函数使用 yield 关键字来定义,可以通过迭代器的方式逐步生成结果,而不是一次性生成所有结果。

def fibonacci():
    a, b = 0, 1
    while True:
        yield a
        a, b = b, a + b

fib = fibonacci()
print(next(fib))  # 输出 0
print(next(fib))  # 输出 1
print(next(fib))  # 输出 1

这些是 Python 中常见的函数类型,每种类型都有不同的特点和用途,一些比较高级用法的函数,后面学到了我们在来讲,现在只需要了解下就可以了。

更多精彩内容,请关注同名公众:一点sir(alittle-sir)

标签:教程,14,Python,add,result,print,numbers,函数
From: https://www.cnblogs.com/kiwiblog/p/17726250.html

相关文章

  • java基础-集合-day14
    目录1.数据结构算法2.本章的重点集合3.collections4.list5.泛型6.泛型通配符7.linkedList8.模拟linkedList源码--面试重点8.Iterrable9.HashSet9.LinkedHashSet10.TreeSet12map1.数据结构算法算法:解决问题的步骤例如1+2+3+...+10050*(1+100)=5050算法优劣的......
  • python列表入门学习
    Python是一个非常强大且易于学习的编程语言,而列表(list)是Python中最常用的数据结构之一。无论你是初学者还是经验丰富的开发者,理解和掌握Python列表的使用都是非常重要的。1.什么是列表?列表是一个有序的元素集合,可以容纳多个值,这些值可以是任何数据类型。#定义一个空列表empt......
  • Angular 16+ 基础教程 – 开篇和目录
    前言前阵子我开始写 Angular复习与进阶系列,写着写着,发现写不下去。思来想去,感觉原因是主题定的不好。复习与进阶,意味着看的人就要有基础,但是这个基础到底要多少又说不清楚,更糟糕的是这两年Angular团队重组后尽然开始做新功能了,而且有越做越多的迹象,所以这个说这个基础更加......
  • [JOISC 2014] 電圧 题解
    [JOISC2014]電圧题解赛时都想到了我也不知道为啥自己没敢写首先题意可以转化为,我们去掉一个边后,剩下的图可以黑白染色,同时保证去掉的边两端的点颜色相同,问这样的边数。换句话说,去掉一条边后,剩下的图应该是一个二分图。然后我们很容易想到线段树分治来处理这种问题。每次只有......
  • python基础 while,for循环
    whlie循环格式while结束条件:执行语句break结束if条件:break小游戏案例猜拳小游戏importrandomren=0ji=0print('-'*12+'欢迎玩猜拳小游戏'+'-'*12)print('本游戏实行三拳两胜制')n=0whilen<3:ran=random.randint(0,2)guess......
  • 《看了受制了》第二十四天,7道题,合计114道题
    2023年9月23日今天周六,尽力做了做,虽然Acwing没能AK。。没读懂题。Acwing5152简单输出题目理解基础语法代码实现#include<iostream>#include<algorithm>#include<unordered_map>#include<cstring>#include<cstdio>#include<vector>#include<queue>#i......
  • Python处理CSV文件
    python处理CSV文件CSV文件CSV(comma-separatedvalues)文件是一种文本文件格式,允许以表格结构保存数据。这是一种流行的格式,用于从数据库和电子表格导出和导入数据,CSV文件中的每条数据都用逗号(,)分隔,例如,第一行数据可以选择用作标题,标明其下方的每一列数据:处理CSV文件CSV......
  • 力扣---146. LRU 缓存
    请你设计并实现一个满足  LRU(最近最少使用)缓存 约束的数据结构。实现 LRUCache 类:LRUCache(intcapacity) 以 正整数 作为容量 capacity 初始化LRU缓存intget(intkey) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。voidput(intkey,......
  • yum安装postgresql-14
    PostgreSQL:Linuxdownloads(RedHatfamily)sudoyuminstall-yhttps://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm#InstallPostgreSQL:sudoyuminstall-ypostgresql14-server#Optionallyinitializet......
  • Python列表
    插入 insert(索引值,插入的对象)追加append(“追加的对象”)删除pop(索引值)删除remove(“对象”)合并extend(“合并的对象”)搜索index(“搜索对象”)返回从左到右搜索到的第一个对象的索引搜索count(“搜索对象”)返回搜索对象的个数搜索in返回搜索的结果   搜索到返回Tr......