Python 函数的定义与使用

Bill78
• 阅读 1304

文章目录

1 函数的定义

把大象装进冰箱
1:把冰箱门打开
2:把大象装进去
3:把冰箱门关上

  • 将一件事情的步骤封装在一起并得到最终结果

  • 函数名代表了这个函数要做的事情

  • 函数体是实现函数功能的流程

  • 方法或功能

  • 函数可以帮助我们重复使用,通过函数名我们可以知道函数的作用

内置函数:

print
id
int
str
max
min
range
... 

自定义函数:

通过关键字def的功能,实现 python中函数的创建

def name(args...):
    todo something...
    return 返回值 

Python 函数的定义与使用

函数结果的返回 return

  • 将函数结果返回的关键字
  • 将函数结果返回的关键字
  • return只能在函数体内使用
  • return支持返回所有的 python类型
  • 有返回值的函数可以直接赋值给一个变量
# coding:utf-8

def capitalize(data):
    index = 0
    temp = ''

    for item in data:
        if index == 0:
            temp = item.upper()
        else:
            temp += item
        index += 1
    print('for结束了')
    return temp
    print('finish')

result = capitalize(data='hello xiaomu')
print(result)

def message(message, message_type):
    new_message = '[%s] %s' % (message_type, message)
    print(new_message)

result = message(message='今天天气真好', message_type='info')
print('message result', result)

def test():
    for i in range(10):
        if i == 5:
            return i

print('test结果是:', test()) 

Python 函数的定义与使用

2 return与prnt的区别

  • print只是单纯的将对象打印,不支持赋值语句
  • return是对函数执行结果的返回,也支持赋值语句

3 函数的传参

3.1 必传参数

  • 函数中定义的参数没有默认值,在调用函数时如果不传入则报错

  • 在定义函数的时候,参数后边没有等号与默认值

在定义函数的时候,没有默认值且必须在函数执行的时候传递进去的参数且顺序与参数顺序相同,就是必传参数

Python 函数的定义与使用

Python 函数的定义与使用

3.2 默认参数

  • 在定义函数的时候,定义的参数含有默认值,通过赋值语句给他是一个默认的值
  • 如果默认参数在调用函数的时候给予了新的值,函数将优先使用后传入的值进行工作

Python 函数的定义与使用

Python 函数的定义与使用

3.3 不确定参数一可变参数

  • 没有固定的参数名和数量(不知道要传的参数名具体是什么)

  • *args代表:将无参数的值合并成元组

  • **kwargs代表将有参数与默认值的赋值语句合并成字典

Python 函数的定义与使用

3.4 参数规则

Python 函数的定义与使用

  • 参数的定义从左到右依次是必传参数,默认参数,可变元组参数?,可变字典参数
  • 函数的参数传递非常灵活
  • 必传参数与默认参数的传参多样化

4 函数的参数类型定义

  • 函数定义在 python37之后可用
  • 函数不会对参数类型进行验证
def person(name:str, age:int=33):
    print(name,age) 

5 局部变量与全局变量

  • 在 python脚本最上层代码块的变量
  • 全局变量可以在函数内被读取使用

global:

将全局变量可以在函数体内进行修改

6 函数的递归

一个函数不停的将自己反复执行

7 匿名函数 Tlambda

  • 定义一个轻量化的函数
  • 即用即删除,很适合需要完成一项功能,但是此功能只在此一处使用

无参数:

f = lambda:value
f() 

有参数:

f = lambda x,y:x*y
f(3,4) 

本文转自 https://tangxing.blog.csdn.net/article/details/113357483,如有侵权,请联系删除。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
Python3:sqlalchemy对mysql数据库操作,非sql语句
Python3:sqlalchemy对mysql数据库操作,非sql语句python3authorlizmdatetime2018020110:00:00coding:utf8'''
Wesley13 Wesley13
3年前
4cast
4castpackageloadcsv.KumarAwanish发布:2020122117:43:04.501348作者:KumarAwanish作者邮箱:awanish00@gmail.com首页:
Stella981 Stella981
3年前
Python之time模块的时间戳、时间字符串格式化与转换
Python处理时间和时间戳的内置模块就有time,和datetime两个,本文先说time模块。关于时间戳的几个概念时间戳,根据1970年1月1日00:00:00开始按秒计算的偏移量。时间元组(struct_time),包含9个元素。 time.struct_time(tm_y
Stella981 Stella981
3年前
JS 对象数组Array 根据对象object key的值排序sort,很风骚哦
有个js对象数组varary\{id:1,name:"b"},{id:2,name:"b"}\需求是根据name或者id的值来排序,这里有个风骚的函数函数定义:function keysrt(key,desc) {  return function(a,b){    return desc ? ~~(ak
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
9个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
Bill78
Bill78
Lv1
日落里有间小商店贩卖橘黄的温柔。
文章
32
粉丝
0
获赞
0