函数的作用

1.减少重复代码

2.方便修改,更易扩展

3.保持代码一致性

函数的命名规则:

1.函数名必须以下划线或字母开头,可以包含任意字母,数字或下划线的组合,不能使用任何的标点符号。

2.函数名区分大小写。

3.函数名不能是保留字。

形参和实参

形参: 形式参数,不是实际存在的,是虚拟变量。

实参: 实际参数,调用函数时传给函数的参数,可以是常量,变量,表达式,函数,传给形参。

举个例子:

def add(x, y):             # 这里 add(x, y) 里面中的 x, y 就是形参
print(x + y) add(1, 2) # 调用 add(1, 2) 函数里面的 1, 2 就是实参 运行结果:
3

函数参数分类

1.必备参数:

必备参数必须按正确的顺序传入,数量与申明时一致。

def person(name, age):
print('My name is %s, age %d' %(name, age)) person('klvchen', 28) 运行结果:
My name is klvchen, age 28

2.关键字参数

函数使用关键字参数进行调用时,允许参数的顺序与声明时不一致。

def person(name, age):
print('My name is %s, age %d' %(name, age)) person(age = 28, name = 'klvchen') 运行结果:
My name is klvchen, age 28

3.默认参数

调用函数时,用户如果没有传入缺省的值,则被认为是默认值。默认参数只能放在最后。

def person(name, age, sex = 'male'):
print('My name is %s, age %d sex is %s' %(name, age, sex)) person(age = 28, name = 'klvchen') 运行结果:
My name is klvchen, age 28 sex is male

当用户需要传入非默认参数时:


def person(name, age, sex = 'male'):
print('My name is %s, age %d sex is %s' %(name, age, sex)) person('lily', 18, 'female') 运行结果:
My name is lily, age 18 sex is female

4.不定长参数

事先没有规定用户输入的参数数量。

(*args)只存放未命名的变量参数,用户输入的参数会组成元组方式传入。

def add(*args):
print(args)
total = 0
for i in args:
total += i
print(total) add(1, 2, 3) 运行结果:
(1, 2, 3)
6

(**kwargs)只存放命名的变量参数,用户输入的参数会组成字典方式传入。

def person(**kwargs):
print(kwargs)
for i in kwargs:
print("%s : %s" %(i, kwargs[i])) person(name='klvchen', job='IT') 运行结果:
{'name': 'klvchen', 'job': 'IT'}
name : klvchen
job : IT

(*args)和(**kwargs)配合一起使用即可以接受用户输入的全部参数:

def person( *args, **kwargs):
print(args)
print(kwargs)
print()
for l in args:
print(l)
for i in kwargs:
print("%s : %s" %(i, kwargs[i])) person(1, 2, 3, 4, name='klvchen', job='IT') 运行结果:
(1, 2, 3, 4)
{'name': 'klvchen', 'job': 'IT'} 1
2
3
4
name : klvchen
job : IT

函数的返回值

函数返回单个值

def test():
return 'hello world' result = test()
print(result) 运行结果:
hello world

函数返回多个值

def test():
return 1, [2, 3] result = test()
print(result)
运行结果:
(1, [2, 3])

注意:

1.如果函数没有 return 关键字,默认会返回 None

2.如果函数 return 多个值,Python 会把多个值组成一个元组返回

3.函数在执行过程中如果遇到 return 关键字就会停止执行并返回结果,return 代表着函数的结束

Python 函数介绍的更多相关文章

  1. Python开发【第三章】:Python函数介绍

    一. 函数介绍 1.函数是什么? 在学习函数之前,一直遵循面向过程编程,即根据业务逻辑从上到下实现功能,其往往用一长段代码来实现指定功能,开发过程中最常见的操作就是粘贴复制,也就是将之前实现的代码块复 ...

  2. 3 Python 函数介绍

    1.函数的基本概念 定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可 特性: 减少重复代码 使程序变的可扩展 使程序变得易维护 语法定义 def ...

  3. python函数介绍

    1.向函数传递信息 def greet_user(username): print('Hello,' + username.title() + '!') greet_user('jesse') 2.位 ...

  4. Python函数(1)

    一.Python函数介绍 函数时组织好的,可重复的,用来实现单一,或相关联功能的代码段. 函数的使用原则时先定义,后调用:事先准备工具的过程即函数的定义,遇到应用场景拿来当工具用即函数的调用. 函数的 ...

  5. python strip()函数 介绍

    python strip()函数 介绍,需要的朋友可以参考一下   函数原型 声明:s为字符串,rm为要删除的字符序列 s.strip(rm)        删除s字符串中开头.结尾处,位于 rm删除 ...

  6. python中multiprocessing.pool函数介绍_正在拉磨_新浪博客

    python中multiprocessing.pool函数介绍_正在拉磨_新浪博客     python中multiprocessing.pool函数介绍    (2010-06-10 03:46:5 ...

  7. python基础3之文件操作、字符编码解码、函数介绍

    内容概要: 一.文件操作 二.字符编码解码 三.函数介绍 一.文件操作 文件操作流程: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 基本操作: #/usr/bin/env ...

  8. Python的常用内置函数介绍

    Python的常用内置函数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.取绝对值(abs) #!/usr/bin/env python #_*_coding:utf-8_ ...

  9. python 函数参数介绍

    python 函数参数介绍 python 使用过程总,总会遇到 *args,**kw形式的参数,总是一头雾水,而且网上介绍的或是叫法不一,为此专门深入实践进而了解了函数参数的使用 具体请看代码 #-* ...

随机推荐

  1. Adobe reader multiple languages pack

    用户打开客户发过来的PDF文档,显示不正常,这是电脑的Adobe Reader缺少相关的字体. 可以从下面地址下载相对版本的字体包安装:http://supportdownloads.adobe.co ...

  2. [.net core学习] .net core中的Rijndael取代方法

    The difference (in .NET) between Rijndael and AES is that Rijndael allows the block size to change, ...

  3. MyBatis 源码分析 - 缓存原理

    1.简介 在 Web 应用中,缓存是必不可少的组件.通常我们都会用 Redis 或 memcached 等缓存中间件,拦截大量奔向数据库的请求,减轻数据库压力.作为一个重要的组件,MyBatis 自然 ...

  4. 使用diskpart命令格式化U盘

    在安装各种linux系统时,经常要使用SD卡,这里就出了个问题,就是SD卡被linux格式化之后无法在widdows下使用. 并且windows下的格式化按键对它毫无作用.笔者在摸索的过程中,找到了格 ...

  5. 根据PDF模板生成PDF文件(基于iTextSharp)

    根据PDF模板生成PDF文件,这里主要借助iTextSharp工具来完成.场景是这样的,假如要做一个电子协议,用过通过在线填写表单数据,然后系统根据用户填写的数据,生成电子档的协议.原理很简单,但是每 ...

  6. C#效率优化(3)-- 使用foreach时避免装箱

    Introduction: ※本文不是在描述旧版本Unity中mono编译器导致的foreach语句额外装箱错误 博主是一名Unity 3D游戏开发者,游戏使用C#+lua开发,最近在优化C#代码时, ...

  7. linux装tomcat遇到的坑

    最开始通过apt-get安装,各种毛病 然后下载tar.gz压缩包解压使用,运行startup.sh可以启动,但是看日志发现 Tomcat启动时卡在 INFO HostConfig.deployDir ...

  8. nginx介绍(三) - 虚拟主机

    前言 前面提到过, 由nginx来分发请求到tomcat中, 那么怎么来区分这些tomcat呢? 我们一般访问网站的时候, 是不是可以使用 ip : port (127.0.0.1:8080)的方式来 ...

  9. python的Web框架,html分页

    使用简单的算法得出页码数,然后在html中获取即可.仅供参考. views的写法 def crm_stu(request): section = '教师后台管理页' search = request. ...

  10. 【学习笔记】JS设计模式总结

    前言:这段时间都在学习Vue的知识,虽然手边放着一本js高程,但确实好久没有好好复习了.温故而知新,因此特意把JS常见的设计模式总结,希望对大家有所帮助... 1. 工厂模式 释义:像工厂一样流水线般 ...