美文网首页
一阶段day9-02函数

一阶段day9-02函数

作者: ATM_shark | 来源:发表于2018-10-10 16:56 被阅读0次

一、函数

1、函数定义

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
分类:自定义函数(程序员自己声明实现其功能)和内置函数(系统已经声明实现完成)

2、函数语法

def 函数名(参数列表):
函数体

说明:
a、def——》Python中声明函数的关键字;
b、函数名——》标识符,要求同变量名,不能是关键字;
遵守PEP8命名规范(所有字母小写,单词之间下划线隔开)
见名知义(看见名字知道函数的功能)
c、()——》固定格式
d、参数列表——》形参列表;参数名1,参数名2,.....(逗号隔开)
可以有多个参数,亦可以没有;
参数是用来从函数的外部给函数里面传值用的;
e:——》固定格式
f:函数体——》实现函数功能的代码段;

3、初学者声明函数的步骤

a、确定函数的功能
b、根据功能确定函数名
c、确定参数:确定参数有无,参数个数(看函数功能需不需要从函数外面传值,需要传几个)
d、实现函数功能
e、确定返回值

写一个函数,打印两个数的和
def sum_me(num1,num2):

    print(num1+num2)

sum_me(11,22)
写一个函数,打印5个hello
def hello5():

    print("hello"*5,sep='====')

hello5()
打印n个hello
def hello_n(n):

    print("hello"*n,sep='==')

hello_n(3)
练习:写一个函数,计算1+2+3+....n的和
def sum_n(n):

    sum_n=0
    for x in range(1,n+1):
        sum_n += x
    print(sum_n)

sum_n(40)

二、函数调用

'''声明函数的时候,不会执行函数体。函数体只有在函数调用的时候才会执行
这个函数的基本结构完成以后,你可以通过另一个函数调用执行,也可以直接从 Python 命令提示符执行
语法:函数名(实参列表)
说明:
函数名——》必须是已经声明过的函数
()——》固定的
实参列表——》数据1,数据2,...;实参是用来给形参赋值的'''

函数的调用过程(重点)

第一步:回到函数声明的位置
第二步:用实参给形参赋值(传参,一定要保证每个形参都有一个实参为其赋值)
第三步:执行函数体
第四步:返回返回值(默认None,返回给函数调用表达式)
第五步:回到函数调用的位置(函数表达式),执行之后的代码

三、函数参数

1、位置参数和关键字参数

def func1(a,b,c):
    print('a:',a,'b',b,'c',c)

func1(11,22,33)#位置参数:按照实参的顺序一一给形参赋值
func1(c=99,a=88,b=77)#关键字参数:形参1=实参1,形参2=实参2,形参3=实参3,...

2、默认参数

函数声明的时候可以给参数设置默认值,但是有默认值的参数必须放在没默认值的参数后面
def func1(a,c,b=0):
    print('a:',a,'b',b,'c',c)  #a: 11 b 0 c 22

func1(11,22)#由于形参b有默认值,故可以不写与之对应的实参

3、不定长参数

参数个数不确定的时候,可以在形参前面加*,将这个形参变成一个元祖,用来接收多个参数
如果函数有多个形参,那么不定长参数要放在最后
def func1(*nums):
    print(nums)

func1()
func1(1)
func1(1,3)
func1(1,2,'abc')

def func2(name,*nums):
    print(name,nums)

func2('alice',2,'abc')

四、函数的返回值

函数的返回值就是函数调用表达式的值,就是return关键字后面的表达式的值
Python中所有的函数都有返回值,返回值默认是None
执行函数体没有遇到return,函数的返回值就是None;遇到了return函数的返回值就是return后面的值
函数调用表达式——》调用函数的语句——函数名(实参)
return——》关键字,只能写在函数体中。用来返回返回值和结束函数
情况一:没有遇到return
def hello5():
    print("hello"*5,sep='====')

print(hello5())   #这一步会执行两道命令,第一道是执行函数体,第二步是打印函数体的返回值;
######  故结果是
###### hellohellohellohellohello
###### None
list=['返回值',hello5()]
print(list)  #['返回值', None]
情况二:遇到return
执行函数时,一旦遇到return,函数就直接结束,并且把return后面的结果作为返回值
def x():
    print('===')
    print('!!!')
    return 100
    print('///')
x()
#会打印===,!!!,但不会打印///,因为执行不到这段代码。
print(x())   #返回值100
注意:并不是只要函数体中有return,函数返回值就是return后面的值;要函数体在执行过程中遇到return,才返回return后面的值;
def x():
    n=2
    if n%2:

        return 100
    print('///')
print(x())   #会打印///,返回值为None,并非100,因为没遇上return
如果实现函数的功能会产生新的数据,就将新的数据返回。如果不会产生新的数据就不用返回值
写一个函数,功能是计算一个数的阶乘
def jie_ceng(num):

    sum1 = 1
    for x in range(1, num+1):
        sum1 *= x

    return sum1
re = jie_ceng(10)
print(re)    #3628800
print('===%d===' % re)   #===3628800===
list1 = [re, re]
print(list1)    #[3628800, 3628800]

相关文章

  • 一阶段day9-02函数

    一、函数 1、函数定义 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。分类:自定义函数(程序员...

  • Excel(三)

    AND函数 OR函数 NOT函数 IF函数 频率分析函数FREQUENCY

  • if、else if、for、while、repeat函数

    ①if函数 ②else if函数 ③for函数 ④while函数 ⑤repeat函数

  • strsplit、mapply、paste、match函数

    strsplit函数 mapply函数 strsplit函数 mapply函数 paste函数 match函数 第...

  • Oracle中常用函数(SQL)

    Oracle函授有以下几个分类:数字函数、字符函数、日期函数、转换函数、集合函数、分析函数 数字函数: 字符函数:...

  • MySQL函数

    字符函数 数字运算函数 比较运算符和函数 日期时间函数 信息函数 聚合函数 加密函数 流程函数

  • BI-SQL丨AND & OR & IN

    AND函数 & OR函数 & IN函数 AND函数、OR函数和IN函数都可以理解是WHERE函数的补充,当然也可以...

  • Python之函数

    课程大纲 函数定义 函数的参数 函数的返回值 高阶函数 函数作用域 递归函数 匿名函数 内置函数 函数式编程 将函...

  • 函数基本知识

    函数 函数的定义: def 函数名() 函数的调用:函数名() #不能将函数调用放在函数定义上方 函数的文档注...

  • 积分表——不定期更新

    基本初等函数包括: 常函数: 幂函数 指数函数 对数函数 三角函数 反三角函数 I、反函数Ⅱ、复合函数:初等函数(...

网友评论

      本文标题:一阶段day9-02函数

      本文链接:https://www.haomeiwen.com/subject/rlqmaftx.html