首页 > 其他分享 >函数

函数

时间:2022-10-09 19:47:01浏览次数:42  
标签:index 函数 res 代码 print def

一、函数的定义

概述:一段相同的代码在不同的地方要反复执行,为了减少重复代码,可将这段代码封装起来,定义一个函数,以后要用到的时候每次调用这个函数就好了。函数相当于具有一定功能的工具。

例如,我们要统计一个列表中字符的个数,我们可以调用内置方法len()来实现。如果len()不能用的话,我们可以写一段代码,通过代码来实现:

name_list = ['jason', 'kevin', 'oscar', 'jerry']
print(len(name_list))
'''突然len不准用了'''
count = 0
for i in name_list:
    count += 1
print(count)
统计列表内数据值个数的代码需要在很多地方使用,那我们就需要反复输入相同的代码。为了简化这种操作,就可以定义一个函数,在需要执行相同的操作的时候就可以调用这个函数。
def my_len():     # 定义函数
    count = 0
    for i in name_list:
        count += 1
    print(count)
my_len()    # 调用函数

函数的语法结构:

def 函数名(参数1,参数2,...):
    """文档描述"""
    函数体代码
    return 返回值

说明:

1.def
定义函数的关键字
2.函数名
命名等同于变量名
3.参数
可有可无,主要是在使用函数的时候规定要不要外界传数据进来
4.函数注释
类似于工具说明书
5.函数体代码
是整个函数的核心,主要取决于程序员的编写
6.return
使用函数之后可以返回给使用者的数据,可有可无

函数与循环的对比:

循环
相同的代码在相同的位置反复执行
函数
相同的代码在不同的位置反复执行
    ps:相同的代码不是真正一模一样而是可以通过传入的数据不同而做出不同的改变

 

二、函数的调用 

1.函数在定义阶段只检测语法,不执行代码

def func():

    pass

def func():
    print(123)     # 此时运行的话不执行代码

 

2.函数在调用阶段才会执行函数体代码 func()

def func():
    print(123)
func()    # 123

3.函数必须先定义后调用

4.函数定义使用关键字def函数调用使用>>>:函数名()

    如果有参数则需要在括号内按照相应的规则传递参数(后续详细讲解)

 

三、函数的分类

根据有无参数分类:

  • 有参函数
  • 无参函数

根据有无返回值分类:

  • 有返回值函数
  • 无返回值函数

根据定义者分类:

  • 系统自定义函数
  • 第三方函数

 我们在对一个项目只有一个大概的框架,还没有确定具体的代码怎么写的时候,可以先建立一个空函数,把框架先搭起来,等将来具体操作的时候再设定相应的函数的代码块。

1.空函数
函数体代码为空 使用的pass或者...补全的
空函数主要用于项目前期的功能框架搭建
def register():
"""注册功能"""
pass

下面就是一个空函数的框架

def register():
    """注册功能"""
    pass


def login():
    """登录功能"""
    pass


def choice_course():
    """选课功能"""
    pass

 

2.无参函数
定义函数的时候括号内没有参数

def index():
    print('from index function')

 

3.有参函数
定义函数的时候括号内写参数 调用函数的时候括号传参数

def func(a):
    print(a)

 

四、函数的返回值

1.什么是返回值
调用函数之后返回给调用者的结果
2.如何获取返回值
变量名 赋值符号 函数的调用
res = func() # 先执行func函数,然后将返回值赋值给变量res

l1 = [111, 222, 333]
res = l1.pop()
print(res)    # 333

3.函数返回值的多种情况
3.1.函数体代码中没有return关键字 默认返回None

def index():
    print('from index')    # from index
res = index()
print(res)    # None

3.2.函数体代码有return 如果后面没有写任何东西还是返回None

def index():
    print('from index')    # from index
return # return后面无内容,返回None 
res = index()
print(res)

 


3.3.函数体代码有return 后面写什么就返回什么

def index():
    print('from index')
return 123
res = index() print(res) # 123

 

3.4.函数体代码有return并且后面有多个数据值,则自动组织成元组返回

def index():
    print('from index')    # from index
return [666,777,888,999] 
res = index()
print(res) # (666, 777, 888, 999)

 

3.5.函数体代码遇到return会立刻结束

def index():
    return 123    # 遇到teturn结束
    print('from index')    # 这代码永远不会被执行
res = index()
print(res)

 

五、函数的参数

形式参数:在函数定义阶段括号内填写的参数,简称“形参”

实际参数:在函数调用阶段括号内填写的参数,简称“实参”

形参与实参的关系:
形参类似于变量名,在函数定义阶段可以随便写,最好见名知意。

def register(name,pwd):
    pass

实参类似于数据值,在函数调用阶段与形参临时绑定,函数运行结束立刻断开

register('jason',123)     # 形参name与jason绑定,形参pwd与123绑定

 

标签:index,函数,res,代码,print,def
From: https://www.cnblogs.com/chen-ao666/p/16773017.html

相关文章

  • mysql创建函数时提示1418。可选关闭二进制日志或者设置log_bin_trust_function_creato
    报错详情如下:1418--ThisfunctionhasnoneofDETERMINISTIC,NOSQL,orREADSSQLDATAinitsdeclarationandbinaryloggingisenabled(you*might*wanttouse......
  • 文件的修改与函数
    文件的修改计算机硬盘修改数据的原理硬盘有两个形态占有态和自由态我们在删除数据的时候,就是将原来的位置标记为自由态,在下载新数据落到这个自由态原本的标记位置就会......
  • python函数
    今日内容概要文件内光标的移动实战演习计算机硬盘存取数据的原理文件内容修改函数简介函数的语法结构函数的定义与调用今日内容详细文件内光标移动案列(了解......
  • 函数入门
    目录函数基础函数的语法结构函数的定义和调用函数的分类函数的返回值函数的参数函数基础计算机的函数,是一个固定的一个程序段,或称其为一个子程序,它在可以实现固定运算功......
  • 文件操作及函数初识
    目录文件操作文件读写模式文件操作模式文件诸多方法文件内光标的移动文件内光标移动案例(了解)计算机硬盘修改数据的原理(了解)文件内容修改(了解)函数前戏函数的语法结构函数的......
  • python初识函数
    今日内容概要文件内光标的移动实战演练计算机硬盘存储数据的原理文件内容修改函数简介函数的语法结构函数的定义与调用今日内容概要文件内光标移动的......
  • C++ 实现一个函数,使用指针连接两个字符串。 函数输入: 两个源字符串的指针,目的字符串
    #include<iostream>#include<string>#include<windows.h>usingnamespacestd;boolstr_cat(char*dest,intlen,constchar*st1,constchar*st2){int......
  • 函数的初步了解
    目录今日内容回顾今日内容回顾详解文件内光标移动案例计算机硬盘修改数据的原理文件内容修改函数前戏函数语法结构函数的定义与调用函数的分类函数的返回值函数的参数今日......
  • python函数内容
    目录今日内容概要1.函数简介2.函数语法结构3.函数的定义以及调用4.函数的分类5.函数参数(重中之重)6.函数的返回值7.练习题及答案今日内容概要函数简介函数的语法结构函......
  • vue中执行异步函数async和await的用法
    在开发中,可能会遇到两个或多个函数异步执行的情况,对于Vue中函数的异步函数执行做了一个小总结,如下:异步执行使用async和await完成created(){this.init()},metho......