一般的函数都是有参数的,函数的参数都是放在函数定义的括号里的,函数参数的命名规则和我们说的变量的命名规则基本一样,一定要清晰明了。(能概括出它的意义,让人阅读你的代码,就知道这个参数是干嘛的就行)。当然参数也可以没有,可以是一个,也可以是多个。

比如:

1 def name_sex(name):       #定义一个name_sex函数,这个函数有一个name参数,记得冒号结尾。
2 def name_sex(name,sex): #定义一个name_sex函数,这个函数有两个参数,用英文逗号隔开。

对于有参数的函数,我们可以是这样直接传入参数调用。

def name_sex(name):              #自定义函数name_sex()
print('我叫:%s'%name) #这是函数内部的功能代码 name_sex('Xiao Hong') #调用name_sex()这个函数,传入的参数写在括号里面
name_sex('小军')

同样的我们也可以指明参数调用,也就是我们说的关键字参数。

1 def name_sex(name,sex):
2 print('我叫:%s ' % name + '我是:%s孩子'%sex) # 这是函数内部的功能代码
3 name_sex(name ='Xiao Hong',sex = '男') #指明把'Xiao Hong'这个参数传给name,把'男'传给sex

相信大家理解了什么是关键字参数,但是有一个规则:就是说,如果第某个参数,使用了关键字,那么他后面的参数都必须使用关键字。

我们看个简单的案例:     %d的意思是要传入的是数字对象

1 def name_sex(name,sex,age):
2 print('我叫:%s ' % name + '我是:%s孩子'%sex + '%d岁了'%age) #第一个参数会自动传给第一个参数
3 name_sex('Xiao Hong',sex = '男',age = 17) #第二个参数开始指定传递

一定要记住规则:如果第某个参数,使用了关键字,那么他后面的参数都必须使用关键字。(如果第一个使用了关键字参数,后面的都不使用,那么会报错的哦)

简单的参数应用方法我们就到这里,之后的自动化如果有用到其他参数我们在做细化的提升。

我们看下函数返回值

函数的返回值可以有,也可以没有。如果我们需要这个函数返回些我们想要的结果,需要使用到return关键字:

1 def name_sex(name):    #第二步:小军会传入给name
2 return name #第三步:return关键字,会把name的值,返回给变量a
3
4 a = name_sex('小军') #第一步:开始使用变量a调用函数,传入'小军'这个参数
5 print(a) #我们打印结果,看变量a有没有指向‘小军’

函数返回值大家理解了吗?如果还是有疑惑可以评论留言哦~

我们再看下函数里面调用函数,之前我们是在函数外面调用函数

实际的工作场景中,我们很有可能在函数里面调用其他函数,但是需要注意的是,函数在还没有定义的时候,不能调用,否则会报错:我们先看个简单的小案例:

name我们看下正确的方法:大家看明白了吗?一定要先定义,在调用。

def name_sex(name):   #第一步,定义我们的name_sex函数
print(name)
name_sex('小军') #第二步我们调用函数

搞清楚了上面的规则,接下来:我们开始函数里面调用函数~

1 def sex():                   #定义第一个函数,供name函数调用
2 print('我被调用了') #sex函数的函数体
3
4 def name():
5 print('准备调用sex()函数')
6 sex() #调用函数外面的sex函数,一定要先定义,在使用
7
8 name() #调用name函数

其实把两个函数换换位置也是可以的:因为我们name()函数再没有调用的时候,是不会去调用sex函数。当naem()函数被调用的时候,我们已经把sex()函数定义了。

1 def name():
2 print('准备调用sex()函数')
3 sex() #调用函数外面的sex函数,一定要先定义,在使用
4
5 def sex(): #定义第一个函数,供name函数调用
6 print('我被调用了') #sex函数的函数体
7
8 name() #调用name函数

如果你没有理解,听我的,把这几行代码敲上十遍,如果还是没有理解可以联系我哦~

还有一个场景就是函数里面定义一个新的函数:(记住哦~在函数A内部定义函数B后,B函数的使用范围仅仅是在函数A内部~)

1 def sex():                   #定义第一个函数
2 def name():
3 print('我就是被定义的函数')
4
5 print('我们开始调用函数里面的name()函数')
6 name()
7
8 sex() #调用sex函数

相信你对函数有了一定的认识,那么我们认识下Python内置的一些函数吧,这些函数可都是你以后代码路上的十八般武器~~~·

1 a = [6,2,4,3]
2 print(type('a')) #type()函数可以帮助我们看当前数据是什么类型的数据对象,可以看出是一个字符串对象str
3 print(max(a)) #max()函数可以显示最大的数据
4 print(min(a)) #min()函数可以显示最小的数据
5 print(len(a)) #len()函数可以显示数据的长度

没错我们在使用的print()也是一个内置函数,是打印输出结果显示在我们的屏幕上

函数的基本知识就是这么多了,内置的函数还有很多,以后笔记涉及到新的函数,在细化~~~

总结:

1、函数的定义必须使用def关键字,后面是函数的名字,然后括号里面是函数的参数,可以不写参数,最后以以英文冒号结尾

2、函数定义完后,里面的函数体,要缩进,建议大家按4下空格

3、函数调用的时候就是函数的名字加括号neme()   可以传入你需要的参数,可以不写参数

4、函数括号里面的参数,如果第某个参数开始指定参数传入,那么以它开始后面的参数都要指定参数传入-------关键字参数

5、函数可以返回结果,也可以不返回,如果需要返回 就用return关键字

6、函数有时候我们需要他返回给我们结果,那么谁调用的函数,结果就返回给谁。比如  a = name() 最后返回的结果会赋值给变量a

拜拜~~~~~~不理解的小伙伴记得留言哦,欢迎关注,相互学习。。。

认识函数(python)的更多相关文章

  1. 函数:Python的乐高积木 - 零基础入门学习Python017

    函数:Python的乐高积木 让编程改变世界 Change the world by program 相信大家小时候应该都玩过神奇的乐高积木,只要通过想象和创意,我们可以用它拼凑出很多神奇的东西. 随 ...

  2. 匿名函数python内置高阶函数以及递归

    匿名函数 python定义一个函数通常使用def关键词,后面跟函数名,然后是注释.代码块等. def func(): '''注释''' print('from func') 这样就在全局命名空间定义了 ...

  3. python第六天 函数 python标准库实例大全

    今天学习第一模块的最后一课课程--函数: python的第一个函数: 1 def func1(): 2 print('第一个函数') 3 return 0 4 func1() 1 同时返回多种类型时, ...

  4. zip函数-Python 3

    zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表. zip函数在获取数据后,生成字典(dict)时比较好用. for examples: # Code based on P ...

  5. partial函数-python学习

    一个函数可以有多个参数,而在有的情况下有的参数先得到,有的参数需要在后面的情景中才能知道,python 给我们提供了partial函数用于携带部分参数生成一个新函数. def add(a,b,c=2) ...

  6. Python hasattr() 函数 // python中hasattr()、getattr()、setattr()函数的使用

    http://www.runoob.com/python/python-func-hasattr.html https://www.cnblogs.com/zanjiahaoge666/p/74752 ...

  7. 迭代器与函数Python学习(四)

    1.1 迭代器: 迭代的工具 1.1.1 什么是迭代: 指的是一个重复的过程,每一次重复称为一次迭代,并且每一次重复的结果是下一次重复的初始值 while True: print('=====> ...

  8. 匿名函数 python内置方法(max/min/filter/map/sorted/reduce)面向过程编程

    目录 函数进阶三 1. 匿名函数 1. 什么是匿名函数 2. 匿名函数的语法 3. 能和匿名函数联用的一些方法 2. python解释器内置方法 3. 异常处理 面向过程编程 函数进阶三 1. 匿名函 ...

  9. python基础-3 集合 三元运算 深浅拷贝 函数 Python作用域

    上节课总结 1 运算符 in 字符串 判断  : “hello” in "asdasfhelloasdfsadf" 列表元素判断:"li" in ['li', ...

  10. 第017讲:函数 - Python的乐高积木

    0. 你有听说过DRY吗? me:不知道 参考答案: 1. 都是重复一段代码,为什么我要使用函数(而不使用简单的拷贝黏贴)呢? me:函数可以设置参数. 参考答案:0) 可以降低代码量(调用函数只需要 ...

随机推荐

  1. RabbitMQ 和 Kafka 的消息可靠性对比

    RabbitMQ和Kafka都提供持久的消息保证.两者都提供至少一次和至多一次的保证,另外,Kafka在某些限定情况下可以提供精确的一次(exactly-once)保证. 让我们首先理解一下上述术语的 ...

  2. Geos判断点是否在多边形内

    使用的geo版本是3.5.1 #include <iostream> #include "geos.h" using namespace std; GeometryFa ...

  3. 2019巅峰极客CTF-web1(LOL英雄联盟)

    今晚有空 以后随缘写博客了 好好沉淀 web1当天做出的队伍很少 其实不难    折腾到最后就差一步  可惜    0x01 读取文件 截图没留了 只留了代码部分. 有个页面  有上传和下载功能 起初 ...

  4. MGR---mysql组复制多主模式

    组复制有两种模式:单主模式和多主模式. 1.在单主模式下,组复制具有自动选主功能,每次只有一个 server成员接受更新.2.在多主模式下,所有的 server 成员都可以同时接受更新. MGR的限制 ...

  5. Java的Lambda表达式

    Java的Lambda表达式 1. 什么是Lambda表达式 简单的说,Lambda表达式就是匿名方法.Lambda表达式让程序员能够使用更加简洁的代码,但是同样也使代码的可读性比较差. Lambda ...

  6. java实现磁盘先来先服务算法

    package demo; import java.awt.List; import java.util.ArrayList; import java.util.Arrays; public clas ...

  7. 第04组 Beta冲刺(1)

    队名:斗地组 组长博客:地址 作业博客:Beta冲刺(1/4) 各组员情况 林涛(组长) 过去两天完成了哪些任务: 1.分配展示任务 2.收集各个组员的进度 3.写博客 展示GitHub当日代码/文档 ...

  8. SQL-W3School-高级:SQL CREATE INDEX 语句

    ylbtech-SQL-W3School-高级:SQL CREATE INDEX 语句 1.返回顶部 1. CREATE INDEX 语句用于在表中创建索引. 在不读取整个表的情况下,索引使数据库应用 ...

  9. kotlin中访问封闭作用内的变量

    在java中,匿名对象访问封闭作用域内的变量,需要用final 声明变量在java8中,如果只是使用封闭作用域内的变量,该变量并不需要使用final,但是一旦修改值,就需要使用final 来声明变量. ...

  10. Gevent模块

    前言 如何在使用1个线程的前提下,提网站的并发性,使用协程? 如果要使用协程首先要解决2个问题: 1.如何检测到代码中遇到了IO操作?(XX) 2.如何在线程代码里上下切换?(Greelet模块) 而 ...