函数                                                                                                                
为什么要用函数?
1、减少代码冗余
2、增加代码可读性 函数的定义及使用
def info():      # 这里我们定义一个打印个人信息的函数
name = "xiaoming"
age = 22
job = "IT"
print("%s年龄%d,职业%s." % (name, age, job)) info() # 函数调用
定义:def 关键词开头,空格之后接函数名称和圆括号(),最后还有一个":"。

注释:每一个函数都应该对功能和参数进行相应的说明,应该写在函数下面第一行。以增强代码的可读性。

调用:就是 函数名() 要记得加上括号。

函数的返回值

通过上个函数,可以打印出函数的输出结果,但过我们需要的是将,结果给到一个变量,或者别的对象时,就不能实现了,这里我们需要用到函数的返回值。
def info():  # 这里我们定义一个打印个人信息的函数
name = "xiaoming"
age = 22
job = "IT"
return "%s年龄%d,职业%s." % (name, age, job) # return 后面就时函数的返回值,在没有指定的情况下,默认返回None ret = info() # 函数调用
print(ret)
使用return,就可以将我们想要的结果返回给变量ret了。

使用 return 返回值的几种情况:

没有返回值:
不写return的情况下,会默认返回一个None:我们写的第一个函数,就没有写return,这就是没有返回值的一种情况。 
def info():  # 这里我们定义一个打印个人信息的函数
name = "xiaoming"
age = 22
job = "IT"
print("%s年龄%d,职业%s." % (name, age, job)) ret = info() # 函数调用
print(ret)
 只写return,后面不写其他内容,也会返回None,一旦遇到return,就会结束整个函数。
return 返回一个值,return可以返回任意类型的值 返回一个值
def info():  # 这里我们定义一个打印个人信息的函数
name = "xiaoming"
age = 22
job = "IT"
return "%s年龄%d,职业%s." % (name, age, job) # return 后面就时函数的返回值,在没有指定的情况下,默认返回None ret = info() # 函数调用
print(ret)
return 返回多个值
返回的多个值会被组织成元组被返回,也可以用多个值来接收,以逗号分割
def info():  # 这里我们定义一个打印个人信息的函数
name = "xiaoming"
age = 22
job = "IT"
print("%s年龄%d,职业%s." % (name, age, job))
return 1, "b", ["a", "c"] ret = info() # 函数调用
print(ret)
ret2, ret3, ret4 = info()
print(ret2, ret3, ret4)
函数的参数
如上个例子,如果我们想输出另一个人的信息,难道要再定义一个函数吗,那函数减少重复代码就没有意义了,当然不用
我们可以这样:
def info(name, age, job):  # 这里括号内的name,age,job叫形参

    print("%s年龄%d,职业%s." % (name, age, job))

info("xiaoli", 23, "sale")        # 这里有对应形参个数的三个值,叫实参
我们在调用info函数输出对应传入人员信息的过程叫做传递参数,简称传参。

传参数的几种形式:

 1、位置传参   如上面例子中,形参和实参的个数一定要对应,不然会报错

 2、关键字传参,默认参数
def info(name, age, job="IT"):  

    print("%s年龄%d,职业%s." % (name, age, job))

info("xiaoli", age=23)     

在形参中job = "IT"就是默认参数,默认参数时可变的,仍然可以使用关键字参数进行传值,默认了在不指定job的情况下,job会默认为IT。

注意一: 位置参数必须在关键字参数的前面

注意二: 形参中的非默认参数必须传值,对于一个形参只能赋值一次
  
动态参数:

当我们要对函数传递不定个数的位置参数或者关键字参数时,要使用到动态参数,一般我们使用*args以元祖的形式接收不定个数的位置参数,**kwargs以字典的形式接收不定个数的关键字参数。
def info(*args, **kwargs):

    print("%s年龄%d,职业%s." % (args[0], args[1], kwargs["job"]))

info("xiaoli", 23, job="IT")
												

python函数-基础篇的更多相关文章

  1. 第五篇:Python函数基础篇

    本篇介绍什么是函数.函数的特性.函数的定义.函数的调用.以及函数的参数.以及关于全局变量和局部变量的使用等等. 一.什么是函数: 函数是最基本的一种代码抽象方式,为了实现某种特定的功能而组织的带名字的 ...

  2. Python—函数基础篇

    https://www.cnblogs.com/littlefivebolg/p/9017449.html Python 解释器的内置函数 内置函数 作用 实例 abs() 返回数字的绝对值. abs ...

  3. 第六篇:Python函数进阶篇

    在了解完了 Python函数基础篇之后,本篇的存在其实是为了整合知识,由于该篇的知识是否杂乱,故大家可以通过点开点连接直接进入其详细介绍,该篇主要大致的介绍一下几个知识点:  一.Python的迭代器 ...

  4. 《转》Python学习(17)-python函数基础部分

    http://www.cnblogs.com/BeginMan/p/3171977.html 一.什么是函数.方法.过程 推荐阅读:http://www.cnblogs.com/snandy/arch ...

  5. Python 函数基础、有序集合、文件操作(三)

    一.set 特点: set是一个无序且不重复的元素集合访问速度快:天生解决元素重复问题 方法: 初始化 >>> s1 = set()>>> print(type(s ...

  6. python函数基础学习

    函数的定义与调用: def 函数名(参数1,参数2): ‘’’函数注释’’’ print(‘函数体’) return 返回值 定  义:def关键字开关,空格之后接函数名和圆括号,最后冒号结尾 def ...

  7. 10分钟学会Python函数基础知识

    看完本文大概需要8分钟,看完后,仔细看下代码,认真回一下,函数基本知识就OK了.最好还是把代码敲一下. 一.函数基础 简单地说,一个函数就是一组Python语句的组合,它们可以在程序中运行一次或多次运 ...

  8. Python函数基础和函数参数

    函数的定义和函数的调用 return的作用 三种参数的定义 常用的内置函数 len() 函数基础 函数的定义 def 函数名(参数): pass return 表达式 pass在这里表示什么都没有,不 ...

  9. Python面试基础篇

    1. 为什什么学习Python? Life is short, You need Python 2. 通过什什么途径学习的Python? pass 3. Python和Java.PHP.C.C#.C+ ...

随机推荐

  1. python类属性和类方法(类的结构、实例属性、静态方法)

    类属性和类方法 目标 类的结构 类属性和实例属性 类方法和静态方法 01. 类的结构 1.1 术语 —— 实例 使用面相对象开发,第 1 步 是设计 类 使用 类名() 创建对象,创建对象 的动作有两 ...

  2. js判断是刷新页面还是关闭页面

    <body onunload=fclose() onload=fload() onbeforeunload=bfunload()> <script> var s = " ...

  3. java和js中JSONObject,JSONArray,Map,String之间转换

    --------------------------------------------------Java中--------------------------------------------- ...

  4. ffmpeg 视频 转 gif

    将视频 MP4 转化为 GIF ffmpeg -i small.mp4 small.gif 转化视频中的一部分为 GIF ffmpeg -t -ss :: -i small.webm small-cl ...

  5. C语言笔记变量与数据类型

    目录 1.转义字符 2.常量与变量 2.1 什么是常量和变量 2.2 内存 2.3 变量的内存机制 2.4 变量命名规则 2.5 变量的定义 2.6 常量的定义 2.7 计算机内存字节顺序 2.8 局 ...

  6. Arcgis Server 本地化

    一.将API包放入server文件夹 将3.18的arcgis API 解压放入Arcgis Server的安装目录的……\Server\framework\runtime\tomcat\webapp ...

  7. Codeforces1099F. Cookies【DP】【线段树】【贪心】【博弈】【沙比提(这是啥算法)】

    LINK 题目大意 给你一棵树,每个节点上有一堆饼干 并且告诉你在每个节点上吃饼干吃一块需要多少时间 然后告诉你经过一条边的时间 总时间是T 两个人轮流进行,一个人向下选择子节点行走或者结束游戏并向上 ...

  8. 寒假作业pta3

    某地老鼠成灾,现悬赏抓老鼠,每抓到一只奖励10元,于是开始跟老鼠斗智斗勇:每天在墙角可选择以下三个操作:放置一个带有一块奶酪的捕鼠夹(T),或者放置一块奶酪(C),或者什么也不放(X).捕鼠夹可重复利 ...

  9. BAT批处理文件,脚本时间值%time:~0,2%%time:~3,2%%time:~6,2%的用法。

    最近公司的项目,需要部署一个oracle定时备份脚本,删除掉特定时间前的备份文件.BAT批处理文件结合windows系统(任务计划程序) 正常情况下我们的任务计划会有反馈数值,通过它可以判断这个任务计 ...

  10. hibernate模拟(转载)

    package simulation; /** * * @author Administrator * */ public class User { private int id; private S ...