Python基础语法函数

作者:神秘网友 发布时间:2021-02-28 12:50:04

Python基础语法函数

函数是什么

Python中的函数与数学中的函数不同,它不再只是公式,而是实实在在有着自己特定功能的代码。其实在潜移默化中我们已经有所接触了。

比如print()函数,range()函数,type()函数等。

函数各式各样,或简单或复杂,但其本质却好是相通的:给函数一些数据,函数进行处理,输出你想要的东西。

函数名后面的括号里放参数,参数即要处理的数据。

函数的定义:函数是组织好的、可以重复使用的、用来实现单一功能的代码。

定义和调用函数

  • 定义函数:

语法如下:

def 函数名(参数1,参数2,...,参数n):
	函数体
	return 语句

第1行:

def的意思是定义(define),「函数名」需自己取,再是一个括号和冒号,括号里面的是参数,参数名也是自己取,最后是一个冒号。

第2行:

def下一行缩进的代码是函数要实现的功能,也叫「函数体」。

第3行:

return 语句。函数内部一旦遇到return语句,就会停止执行并返回结果。没有return语句的函数,Python也会在末尾隐性地加上return None,即返回None值(return None可以简写为return)。所以你会看到很多例子是省略return语句的。

注意事项:

  1. 函数名的选取要体现函数功能,一般用小写字母和单下划线、数字等组合;
  2. 根据函数功能,括号可能含有多个参数,也可不带参数,命名规则与函数名相同;
  3. 函数后面的冒号不能丢
  4. 函数体的缩进不能丢

定义函数是将函数的内部功能封装起来,等待被调用。

  • 调用函数:

在Python里,调用就是输入函数名和参数对应的值。

例子:

# 定义3个函数
def express():  
	print('我爱你')

def express1(name):
	print('我爱你'+ name)

def express2(name,person):
	print('我爱你'+name)
	print('我爱你'+person)

# 分别调用3个函数
express()
express1('中国')
express2('中国','中国人民')

调用函数最关键的是得清楚函数参数的个数,还有参数的赋值,即参数的传递。

为了便于理解函数的基本语法,举的例子很简单。其实大部分函数都很复杂,但我们只需明白函数能实现什么功能,懂的如何去给函数传递参数,会正确运用函数解决问题即可。

函数的重要概念

  • 参数类型

主要的参数类型有:位置参数默认参数不定长参数

举例说明:

假设你开了个饭馆,顾客可任意点菜。但因人手不足,所以只能为每个人提供一份开胃菜和一份主食。如果写成函数的形式,这个函数就会有两个参数。

def  menu(appetizer,course):

    print('开胃菜:'+ appetizer)
    print('主食:'+ course)

menu('果仁菠菜','兰州拉面')

这里的'果仁菠菜'和'兰州拉面'是对应参数appetizer和course的位置顺序传递的,所以被叫作「位置参数」,这也是最常见的参数类型。

如果用等号指定赋值,就可不用理会参数位置,如:

menu(course='牛肉拉面',appetizer='话梅花生')

接下来是「默认参数」,还用上述例子。

假如食堂为每位来客提供一道免费甜品冰淇淋,那么例子如下:

def  menu(appetizer,course,dessert='冰淇淋'):

    print('开胃菜:'+ appetizer)
    print('主食:'+ course)
    print('甜品:'+ dessert)

menu('果仁菠菜','兰州拉面')

因为已经默认把'冰淇淋'传递给dessert,调用时无需再传递一遍。

如果一个参数的值是相对固定的,那么设置默认参数就免去了每次都要传递的麻烦。

但默认参数并不意味着不能改变,如下:

def  menu(appetizer,course,dessert='冰淇淋'):

    print('开胃菜:'+ appetizer)
    print('主食:'+ course)
    print('甜品:'+ dessert)

menu('果仁菠菜','兰州拉面')
menu('果仁菠菜','兰州拉面','山楂羹')

前两个参数已有对应的值传递,Python会自动将'山楂羹'传递给参数dessert。

下面是「不定长参数」,即不确定传递参数的数量。继续上述例子。

饭店晚上开始卖烧烤,每个人点串的数量不等,举例如下:

def menu(*barbeque):
	print(barbeque)

menu('烤肉串','烤韭菜','烤鳕鱼')

输出结果为:('烤肉串', '烤韭菜', '烤鳕鱼'),这种数据类型叫做元组(tuple)。

元组的写法是 把数据放在小括号()中,它的用法和列表用法类似,主要区别在于列表中的元素可以随时修改,但元组中的元素不可更改。

我们也可以先生成一个元组,再传入参数。上述代码等价于:

order = ('烤肉串','烤韭菜','烤鳕鱼')

def menu(*barbeque):
	print(barbeque)

menu(*order)

和列表一样,元组是可迭代对象,这意味着我们可以用for循环来遍历它,这时候的代码就可以写成:

def  menu(appetizer,course,*barbeque,dessert='冰淇淋'):

    print('开胃菜:'+ appetizer)
    print('主食:'+ course)
    print('甜品:'+ dessert)
    for i in barbeque:
    	print('烧烤:' + i)


menu('果仁菠菜','兰州拉面','烤肉串','烤韭菜','烤鳕鱼')

注意:此时默认参数要放在不定长参数的后面,即dessert=’冰淇淋'要放在*barbeque后面,否则传递的值会对应不上。

还有如下情况,默认参数被指定赋值时,位置能够呼应即可:

def  menu(appetizer,course,dessert='冰淇淋',*barbeque):

    print('开胃菜:'+ appetizer)
    print('主食:'+ course)
    print('甜品:'+ dessert)
    for i in barbeque:
    	print('烧烤:' + i)


menu('果仁菠菜','兰州拉面','山楂羹','烤肉串','烤韭菜','烤鳕鱼')
 
  • return语句

前面我们提到,return是返回值,当你输入参数给函数,函数就会返回一个值给你。每个函数都会有返回值。

就像len(), type()函数一样,会返回一个值,然后,我们可以调用这个值,比如用print()函数打印出来。

但print()函数本身比较特殊,它在屏幕上显示完相关的文本内容就完活儿了,并不会返回一个值。所以,它返回的是空值(None)。

在自定义函数的时候,我们就可以用return语句规定该函数要返回什么值给我们。

带return语句的函数是这样的:

Python基础语法函数 相关文章

  1. java的基础知识

    编写一个hello,world public class Hello{ public static void main(String[] arge){ System.out.print("hello,world"); } } public class(这个表示一个类,修饰符的意思)Hello是类的名字 pubic static void (这些是修饰符,关键字)main(主方法)(String[]

  2. Python爬虫〇七———数据解析之XPATH的使用

    今天来总结最后一种说句解析的方式——XPath。 XPath是一门在XML文档中查找信息的语言,用于在XML文档中通过元素和属性进行导航。 XPath简介 下面来简单介绍一下XPath。 XPath的特点 XPath使用路径表达式在XML文档中进行导航 XPath包含一个标准函数库 XPath

  3. pymysql基础教程

    pymysql基础教程 1.下载pymysql 在命令框输入指令即可 pip install pymysql 2.连接pymysql 连接数据库: import pymysqlconn = pymysql.connect( host="", # 数据库地址 user="", # 数据库用户 password="", # 数据库密码 charset="utf8", # 数据库字符格式)

  4. Python - lambda 匿名函数

    说匿名函数之前,先来回归一下 函数的语法格式: def 函数名([形式参数1, 形式参数2, ....., 形式参数n]): 函数体 当函数中只有一行return语句时,函数的定义可以用一个lambda表达式来代替。 lambda的语法格式: lambda [形式参数1, 形式参数2, ....., 形式

  5. python进阶(12)闭包

    闭包 首先了解一下:如果在一个函数的内部定义了另一个函数,外部的我们叫他外函数,内部的我们叫他内函数。 在一个外函数中定义了一个内函数,内函数里运用了外函数的 临时变量 ,并且外函数的返回值是内函数的引用。这样就构成了一个闭包。 一般情况下,在

  6. 基础试题-01子串

    /*对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是: 00000 00001 00010 00011 00100 请按从小到大的顺序输出这32种01串。*/ 想到了循环的办法,还想到了模仿二进制加法但是并没有实现出来。找到了五种办法的博客https://blog

  7. python进阶(13)装饰器

    装饰器 装饰器放在一个函数开始定义的地方,它就像一顶帽子一样戴在这个函数的头上。和这个函数绑定在一起。在我们调用这个函数的时候,第一件事并不是执行这个函数,而是将这个函数做为参数传入它头顶上这顶帽子,这顶帽子我们称之为 装饰器 。 装饰器的功

  8. Code-Server 安装Python插件无法启动解决办法

    code-server code-server基于VScode的在线IDE,一般部署在服务器,方便客户端在线访问 Github地址:https://github.com/cdr/code-server 云端部署 云端部署全部正常 Linux服务器版本: CentOS 8 server 服务器厂商: 阿里云 , Vultr Code-server版本: V3.7 , V3.

  9. python邮件发送封装类

    import os import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from common.config import configs class EmaliUtils: def __init__(self,smtp_body, attch_path =None): self.smtp_server = 'smtp.qq.co

  10. 单表查询

    单表查询 一. 完整语法 语法级别关键字的排列顺序: select distinct(去重) 字段1,字段2,字段3,... from 库名.表名(相当于完整的文件路径,有打开这个文件) where 约束条件(在整个文件过滤筛选) group by 分组依据(分成不同的组) having 过滤条件(在分好的组中

每天更新java,php,javaScript,go,python,nodejs,vue,android,mysql等相关技术教程,教程由网友分享而来,欢迎大家分享IT技术教程到本站,帮助自己同时也帮助他人!

Copyright 2020, All Rights Reserved. Powered by 跳墙网(www.tqwba.com)|网站地图|关键词