Python 函数的定义与使用

Bill78 等级 632 0 0

文章目录

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,如有侵权,请联系删除。

收藏
评论区

相关推荐

15. Python 程序运行速度如何提高十倍?第一遍滚雪球学 Python 收工
本篇文章将给大家介绍 Python 多线程与多进程相关知识,学习完该知识点之后,你的 Python 程序将进入另一个高峰。 <center<font colorred缓解一下视疲劳</font</center 15. Python 程序运行速度如何提高十倍?第一遍滚雪球学 Python 收工(https://imghelloworld.oss
玩转python爬虫
&ensp;&ensp;&ensp;  近几年来,python的热度一直特别火!大学期间,也进行了一番深入学习,毕业后也曾试图把python作为自己的职业方向,虽然没有如愿成为一名python工程师,但掌握了python,也让我现如今的工作开展和职业发展更加得心应手。这篇文章主要与大家分享一下自己在python爬虫方面的收获与见解。 &ensp;&ensp;
5 行 Python 代码调用电脑摄像头
**前提:** 确保 python 中安装了 opencv-python 模块。如果没有安装,可以参考:[https://pypi.org/project/opencv-python/](https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fpypi.org%2Fproject%2Fopencv
PEP 333
> > 翻译自 Python Web Server Gateway Interface v1.0 [PEP 333 - Python Web Server Gateway Interface v1.0](https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fwww.python.org%2F
CentOS升级Python到2.7版本
查看python的版本 python -V Python 2.4.3 1.先安装GCC yum -y install gcc 2.下载Python-2.7.2 wget http://python.org/ftp/python/2.7.2/Python-2.7.2.tar.bz2 3.解压Python-2.7.2
Django 多进程多线程的一些个人理解
### 一、Django 开发环境与生产环境 ##### 开发/调试 python manage.py runserver 0.0.0.0:8080 ##### 生产环境 Nginx + uWSGI + supervisor > 生产环境不用 `python manage.py runserver 0.0.0.0:8080` 的原
Flask教程(十五)日志
### 软硬件环境 * windows 10 64bit * anaconda3 with python 3.7 * pycharm 2020.1.2 * flask 1.1.2 ### 简介 `flask`日志使用标准的`python``logging`。所有与`flask`相关的消息都用`ap
FreeBSD python安装MySQL
fetch https://pypi.python.org/packages/source/M/MySQL-python/MySQL-python-1.2.4.zip unzip MySQL-python-1.2.4.zip cd MySQL-python-1.2.4 python setup.py install ln -s /usr/loca
Jenkins Python Plugin获取环境变量
Jenkins Python Plugin 官方wiki:[https://wiki.jenkins-ci.org/display/JENKINS/Python+Plugin](https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fwiki.jenkins-ci.org%2Fdisplay%2F
Python 3 教程
Python 3 教程 =========== ![python3](https://www.runoob.com/wp-content/uploads/2014/05/python3.png) Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,
Python 3.8 官网文档(中文版附下载)
![](https://oscimg.oschina.net/oscnet/b5c848a0d97764f322d36cce2d2a8d80f4b.jpg) 文档解释了 Python 3.8 相比 3.7 的新增特性。本参考手册描述了 Python 的语法和“核心语义”。本参考是简洁的,但试图做到准确和完整。 这份库参考
Python MySQLdb 循环插入execute与批量插入executemany性能分析
Python MySQLdb 循环插入execute与批量插入executemany性能分析 ============================================== 用Python连接MySQL数据库时,会用到MySQLdb库,这里下载↓↓↓ https://pypi.python.org/pypi/MySQL-python/ 这
Python import与from import使用及区别介绍
Python程序可以调用一组基本的函数(即内建函数),比如print()、input()和len()等函数。接下来通过本文给大家介绍Python import与from import使用及区别介绍,感兴趣的朋友一起看看吧 下面介绍下Python import与from import使用,具体内容如下所示: Python程序可以调用一组基本的函数(即内建函
Python中的参数传递与解析
Python传递命令行参数 ============= Python的命令行参数传递和C语言类似,都会把命令行参数保存到argv的变量中。对于python而言,argv是sys模块中定义的一个list。与C语言不同的是,python中并没有定义argc,要获得参数的个数,需要使用len(sys.argv) 当用户使用'python -c "command
Python进阶丨如何创建你的第一个Python元类?
> **摘要:**通过本文,将深入讨论Python元类,其属性,如何以及何时在Python中使用元类。 Python元类设置类的行为和规则。元类有助于修改类的实例,并且相当复杂,是Python编程的高级功能之一。通过本文,将深入讨论Python元类,其属性,如何以及何时在Python中使用元类。本文介绍以下概念: * * 什么是Python元类?