Python函数:实现某种功能的代码段

定义一个函数需要遵循的规则:

  1.使用 def 关键字 函数名和( ),括号内可以有形参

    匿名函数使用 lambda 关键字定义

  2.任何传入参数和自变量必须放在括号中

  3.函数的第一行语句可以使用字符串存放函数说明

  4.函数内容以冒号开始,函数内的代码块缩进

  5.使用了 return [表达式] 函数会返回一个值,如果不使用 return 则会返回 None

示例:

  1. '''
  2. def 函数名([参数,根据函数运行需要,如果函数不需要参数,可以不写]):
  3. 函数声明(可不写,如果怕忘记函数功能,最好是写)
  4. 函数语句 ...
  5. return 需要返回的值(有些函数可以不使用 return,只进行某些操作,返回为None)
  6. '''

程序:

定义一个 say_hello 函数,使函数能够说出 hello

  1. # 程序:定义一个 say_hello 函数,使函数能够说出 hello
  2. def say_hello():
  3. print("hello")

定义一个求长方形面积的函数 area,要求具有返回值且参数为 height 和 width 

  1. # 定义一个求长方形面积的函数,要求具有返回值且参数为 height 和 width
  2. def area(height,width):
  3. return height * width

定义一个函数,输出 欢迎,接收到的参数 name

 

  1. # 定义一个函数,输出 欢迎,接收到的参数 name
  2. def huanying(name):
  3. print("欢迎",name)

定义一个求 1~10 的总和的函数,函数名为 one_to_ten,要求具有返回值

  1. #定义一个求 1~10 的总和的函数,函数名为 one_to_ten,要求具有返回值
  2. def one_to_ten():
  3. sum = 0
  4. for i in range(1,11):
  5. sum += i
  6. return sum

 拓展:

函数名可以赋值给变量,使用变量进行调用(变量此时相当于函数名)

  1. # 函数名可以赋值给变量,使用变量进行调用(变量此时相当于函数名)
  2. def add(num_1,num_2):
  3. print(num_1 + num_2)
  4. a = add
  5. print(type(a))
  6. # <class 'function'>
  7. a(3,5)
  8. #

闭包函数:

函数内嵌套函数,内部的函数要使用外部函数的值,外部函数返回内部函数名

  1. # 函数内可以嵌套函数,内部的函数要使用外部函数的值,外部函数返回内部函数名
  2. def print_info(string):
  3. def inner_print_info():
  4. print("调用了 print_info 的内部函数")
  5. print(string)
  6. return inner_print_info
  7. name = '使用了 print_info 函数'
  8. info = print_info(name)
  9. # 使用了 print_info 函数
  10. info()
  11. # 调用了 print_info 的内部函数

函数内可以进行定义类:

  1. def run():
  2. class student(object):
  3. pass

2020-02-11

Python定义一个函数的更多相关文章

  1. 【Python笔记】2020年7月22日练习=[定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程的两个解]

    学习教程:廖雪峰-Python教程-函数-函数定义 学习记录:[定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程的两个解] 学习心得: 1.对问题进行判断分析后再下手. ...

  2. python 练习题:定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程ax^2+bx+c=0的两个解

    请定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程 ax^2+bx+c=0的两个解. 提示: 一元二次方程的求根公式为: x1 = (-b + math.sqrt((b ...

  3. js 面向对象中,定义一个函数的过程

    定义一个函数做的两件事:1: 实例化一个Function对象:2: 实例化一个Object对象,并给该函数扩展prototype属性指向这个构造函数 大致过程如图所示: 每一种引用类型(函数,对象,数 ...

  4. 自动化测试(三)如何用python写一个函数,这个函数的功能是,传入一个数字,产生N条邮箱,产生的邮箱不能重复。

    写一个函数,这个函数的功能是,传入一个数字,产生N条邮箱,产生的邮箱不能重复.邮箱前面的长度是6-12之间,产生的邮箱必须包含大写字母.小写字母.数字和特殊字符 和上一期一样 代码中间有段比较混沌 有 ...

  5. [c++] 用宏定义一个函数

    要点:变量都用括号括起来,防止出错,结尾不需要;.在实际编程中,不推荐把复杂的函数使用宏,不容易调试.多行用\ 要写好C语言,漂亮的宏定义是非常重要的.宏定义可以帮助我们防止出错,提高代码的可移植性和 ...

  6. python 定义一个空集合、空字典

    s = set() #定义一个空集合 s = {} #定义一个空字典

  7. python正则表达式应用 定义一个函数,求字符串中出现的所有整数之和

  8. 【C语言】定义一个函数,求长方体的体积

    #include<stdio.h> int volume(int a, int b,int c)/*定义函数*/ { int p; p = a * b * c; return p; } i ...

  9. 请定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程 ax^2+bx+c=0ax 2 +bx+c=0 的两个解。

    #!/usr/bin/python # 导入math包 import math def quadratic(a, b, c): if not isinstance(a, (int, float))an ...

随机推荐

  1. openstack cinder-backup流程与源码分析

    在现在的云计算大数据环境下,备份容灾已经变成了一个炙手可热的话题,今天,和大家一起分享一下openstack是怎么做灾备的. [首先介绍快照] snapshot可以为volume创建快照,快照中保存了 ...

  2. C#模拟HTTP协议请求

    1       前言 http协议详解参考HTTP协议. WEB常用Get和Post请求. 地址栏参数:url为www.viwofer.com?id=12&name=viwofer则id=12 ...

  3. ORA-04063: package body "DBSNMP.BSLN_INTERNAL" has errors

    ORA-04063: package body "DBSNMP.BSLN_INTERNAL" has errors 问题描述: 警告日志出现报错: Sun Jun 21 00:00 ...

  4. POJ 1852 Ants(贪心)

    POJ 1852 Ants 题目大意 有n只蚂蚁在木棍上爬行,每只蚂蚁的速度都是每秒1单位长度,现在给你所有蚂蚁初始的位置(蚂蚁运动方向未定),蚂蚁相遇会掉头反向运动,让你求出所有蚂蚁都·掉下木棍的最 ...

  5. Sightseeing,题解

    题目: 题意: 找到从s到t与最短路长度相差少于1的路径总数. 分析: 首先,搞明白题意之后,我们来考虑一下怎么处理这个1,怎样找相差为1的路径呢?我们这样想,如果有相差为1的路径,那么它将会是严格的 ...

  6. Uni-app实战项目注意事项

    注意: (1)本地开启端口 App running at: Local: http://localhost:8080/ Network: http://192.168.31.43:8080/ 后台人员 ...

  7. day18 作业

    目录 1.编写课上讲解的有参装饰器准备明天默写 2.在文件开头声明一个空字典,然后在每个函数前加上装饰器,完成自动添加到字典的操作 3.编写日志装饰器,实现功能如:一旦函数f1执行,则将消息2017- ...

  8. SQL注入原理及代码分析(二)

    前言 上一篇文章中,对union注入.报错注入.布尔盲注等进行了分析,接下来这篇文章,会对堆叠注入.宽字节注入.cookie注入等进行分析.第一篇文章地址:SQL注入原理及代码分析(一) 如果想要了解 ...

  9. Django之 Views组件

    本节内容 路由系统 models模型 admin views视图 template模板 我们已经学过了基本的view写法 单纯返回字符串 1 2 3 4 5 6 7 8 def current_dat ...

  10. hihoCoder 1114 小Hi小Ho的惊天大作战:扫雷·一 最详细的解题报告

    题目来源:小Hi小Ho的惊天大作战:扫雷·一 解题思路:因为只要确定了第一个是否有地雷就可以推算出后面是否有地雷(要么为0,要么为1,如果不是这两个值就说明这个方案行不通),如果两种可能中有一种成功, ...