python里面的函数定义与使用

~什么是函数

!函数是一段具有特定功能的、可重用的语句组,是一种功能的抽象。一般函数表达特定功能。

~它的一般表示形式为:

def 函数名(参数):

函数体

return 返回值

注意:上面的参数可有可无,但是我们括号一定得有。

示例:

def fact(n):

s=1

for i in range(1,n+1):

s*=i

return s

print(fact(10))

其中,上面的def ... return 是函数的定义,后面的print(fact(10))是函数的调用

~函数调用

!函数调用是运行函数代码的方式

这里需要指明的地方是:调用的时候需要给出实际参数,然后我们代码运行的时候,实际参数会v替代定义中的形式参数,然后通过最后得到返回值。我们上面那个案例是将返回值输出来了。

!函数定义中的参数,有一部分为可选参数,一部分为非可选参数。函数定义时可以为某些参数指定默认值,构成可选函数;我们可以这样理解,函数定义的时候,有一部分参数是必须要有的,这一部分是不可选参数,有一部分参数是可有可无的,这一部分是可选参数。为了区分,我们需要注意的是可选函数必须放在不可选函数的后面。

!可变参数传递

函数定义的时候,可以设计不确定参数总数量,示例:

def 函数名(参数,*b): //b是指不确定参数总数量

函数体

return 返回值

示例:

def fact(n,*a):

s=1

for i in range(1,n+1):

s*=i

for item in a:

s*=item

return s

print(fact(10,3))

!参数传递的两种方式

位置传递与名称传递

~函数的返回值

return 保留字用于传递返回值,函数可以有返回值,也可以没有,返回值数量不定,甚至returrn 可有可无,

!函数的局部变量与全局变量

很好理解,局部变量就是在函数内部有效的变量,全局变量就整个程序都有效。然后,我们需要注意的是:在程序中我们可以使用global 保留字在函数内部使用全局变量:

示例:

n,s=10,100

def fact(n):

global s #此处s为全局变量

for i in range(1,n+1):

s*=i

return s

print(fact(n),s)

除了使用global 保留字,在局部变量为组合数据类型且未创建,则等同于全局变量,如果它在函数内部被创建了,那么它就是一个局部变量。

示例:

l=["F","f"]

def fun(a):

l.append(a)

return

fun("R")

print(l)

def func(b):

l=[]

l.append(b)

return

func("M")

print(l)

输出结果:

python里面的函数定义与使用 相关文章

async 函数简单介绍 (async、await关键字)

详细文档:ECMAScript 6 async 函数(阮一峰) 介绍 ES2017 标准引入了 async 函数,使得异步操作变得更加方便。async 函数是什么一句话,它就是 Generator 函数的语法糖。 // 请求网络数据(伪代码)// generator 函数const requestDataGenerator = functio

python mongodb增量备份脚本

首先,需要搭建mongodb副本集,才能进行增量备份,此过程略过 本人的构想是每天进行一次备份,这次备份是全量备份还是增量备份取决于最后一次全量备份的时间节点的日志是否已被覆盖(因为oplog的大小是有上限的,所以新的操作会覆盖旧的),如果已被覆盖,则进

js 递归

递归会形成递归栈,栈顶是满足条件的最后一个函数,当这个函数出栈之后,倒数第二个栈的代码继续执行。(因为代码没执行完呢) 函数递归回来的结果值通常要保存或者赋值。这个很重要 递归不是闭包。 //5*4*3*2*1=120 //f5=5*f4 f4=4*f3 f3=3*f2 f2=2*f1 f1=1

04_python常用模块

1. 日志相关项: 1 在代码中添加日志,然后输出到文件中; 2 用于记录代码逻辑执行过程,当报错异常时用于分析问题; 3 定义日志收集器:要从代码当中按照要求,收集对应的日志,并输出到渠道当中; a 要收集哪些级别以上的日志 b 日志以什么样的格式显示 c

(python函数04)zip(*sorted(zip()))

zip(*sorted(zip())) 用这个玩意儿可以以对两个迭代对象进行排序。 示例代码01 cnts = [2, 4, 3, 6, 5] boundingBoxes = [(730, 20, 54, 85), (651, 20, 53, 85), (571, 20, 53, 85), (492, 20, 53, 85), (412, 20, 53, 85)] ? # b是zip中的一个元素,不确定

python 处理json

1、dumps:将python中的 字典 转换为 字符串 import jsontest_dict = {'bigberg': [7600, {1: [['iPhone', 6300], ['Bike', 800], ['shirt', 300]]}]}print(test_dict)print(type(test_dict))#dumps 将数据转换成字符串json_str = json.dumps(test_dict)prin

js递归

函数内部直接或间接调用函数本身为递归 递归求阶乘 function factorial(num) { // 0的阶乘等于1 // 递归最重要的是明确递归结束条件,避免爆栈(RangeError: Maximum call stack size exceeded) if (num === 0) return 1; return num * factorial(num -1);}co

python连接mongodb

pip 安装 $ python3 -m pip3 install pymongo 也可以指定安装的版本: $ python3 -m pip3 install pymongo==3.5.1 更新 pymongo 命令: $ python3 -m pip3 install --upgrade pymongo 创建数据库 创建一个数据库 创建数据库需要使用 MongoClient 对象,并且指

代码审计学习01-in_array() 函数缺陷

一、开始代码审计之旅 01 从今天起,学习代码审计了,这篇文章就叫代码审计01吧,题目来自PHP SECURITY CALENDAR 2017的第一题,结合红日安全写的文章,开始吧。 二、先看这道题目 1、题目名称:Wish List 2、in_array() 函数的作用 in_array() 函数的作用是

Python3统计gitlab上的代码量

import threadingimport gitlabimport xlwt#获取所有的userdef getAllUsers(): usersli = [] client = gitlab.Gitlab(private_host, private_token=private_token) users = client.users.list(all=True) for user in users: usersli.append(user.username) r

python中fact函数的定义_python里面的函数定义与使用相关推荐

  1. python中reversed是什么意思_Python内置函数reversed()用法分析

    这篇文章主要介绍了Python内置函数reversed()用法,结合实例形式分析了reversed()函数的功能及针对序列元素相关操作技巧与使用注意事项,需要的朋友可以参考下 reversed()函数 ...

  2. python中map用法详解_Python:map函数用法详解

    一个简单的例子:将一个list中所有元素平方,常规的做法如下图所示,虽然实现了这个功能,但并没有给人一目了然的感觉.若换成map来实现,则会好很多. 常规方法 map函数 1.map函数介绍及其简单使 ...

  3. python中静态变量和静态方法_python类和函数中使用静态变量的方法

    本文实例讲述了python类和函数中使用静态变量的方法.分享给大家供大家参考.具体分析如下: 在python的类和函数(包括λ方法)中使用静态变量似乎是件不可能[Nothing is impossib ...

  4. python中width是什么意思_python cv2.resize函数high和width注意事项说明

    在opencv中获取图片的尺寸的方法是: import cv2 img = cv2.imread(path) img.shape 返回的是三维数组(high, width, 3),当我们需要对图像进行 ...

  5. python中reversed是什么意思_python 内置函数 reversed()

    reversed()函数是返回序列seq的反向访问的迭代子.参数可以是列表,元组,字符串,不改变原对象. 1>参数是列表 >>> l=[1,2,3,4,5] >>& ...

  6. python中标识符下划线用作开头_python python中那些双下划线开头的那些函数都是干啥用用的...

    1.写在前面 今天遇到了__slots__,,所以我就想了解下python中那些双下划线开头的那些函数都是干啥用用的,翻到了下面这篇博客,看着很全面,我只了解其中的一部分,还不敢乱下定义. 其实如果足 ...

  7. python中字符串格式化的形式_Python中format函数字符串格式化入门

    格式化在程序开发中非常常见,大家肯定不陌生,Python中也存在多重格式化方式,format函数就是其中一种. 函数原型format(value[, format_spec]) 参数意义 value: ...

  8. python属性名以两个下划线开头_python python中那些双下划线开头的那些函数都是干啥用用的...

    1.写在前面 今天遇到了__slots__,,所以我就想了解下python中那些双下划线开头的那些函数都是干啥用用的,翻到了下面这篇博客,看着很全面,我只了解其中的一部分,还不敢乱下定义. 其实如果足 ...

  9. python中关键字参数的特点_Python中的*可变参数与**关键字参数

    1.定义了一个需要两个参数的函数 def print_str(first, second): print first print second if __name__ == "__main_ ...

  10. Python中数组,列表,元组的区别、定义、功能

    准确的来说,在python中是没有数组类型的,python中取而代之的是列表和元组.列表比元组好用,因为元组一旦定义就没法修改.而列表不仅可以和数组一样按索引访问,还有一堆的功能. 列表: (1)添加 ...

最新文章

  1. 什么是好的图神经网络?
  2. 零基础快速入门SpringBoot2.0教程 (二)
  3. Ubuntu adb 报错:no permissions (user in plugdev group; are your udev rules wrong?);
  4. 如何从一个对话框弹出单文档视图
  5. VMware使两台windows虚拟机能够互相ping通
  6. 云上的Growth hacking之路,打造产品的增长引擎
  7. 让局域网内部挺高网速
  8. 扩展:js控制台输出,除了 console.log还有哪些?
  9. SonarQube安装步骤 Windows10系统
  10. 【资料分享】《建筑照明设计标准》(GB50034-2013)
  11. 堆排序时间复杂度计算
  12. android 随身无线网卡,让小锐WiFi支持USB无线网卡/随身WiFi(附各种“随身wifi”芯片型号)...
  13. 这 10 本书,提升你的财富思维,今天免费送!
  14. newifi3刷机 php,newifi3breed解锁新路由3刷机免解锁刷breed详细方法老毛子Padavan固件...
  15. 2018 网易校招 骰子游戏
  16. 芥川龙之介《山药粥》
  17. 全国三级流域空间分布矢量数据下载方式
  18. 墨卡托坐标转GPS坐标
  19. SimpleMemory博客园主题定制美化 配置
  20. 大数据基础(林子雨版)

热门文章

  1. [Shell详解-2]:变量、默认变量、数组
  2. linux服务器关闭ipv6,如何关闭ipv6?
  3. 电脑计算机显示无法访问打开不了,提示“无法访问D盘拒绝访问”是什么情况?电脑打不开D盘解决方法...
  4. 使用nRF Connect for Desktop快速部署NCS
  5. 网站的易用性测试如何进行?都包括哪些内容?
  6. 8位MCU要被淘汰了吗?
  7. 计算机毕业设计Java校园帮代服务系统的设计与实现(源码+系统+mysql数据库+Lw文档)
  8. 王者显示重连服务器失败,最强王者三国手游服务器连接失败 最强王者三国手游曹操学什么技能_游戏频道_中华网...
  9. 广州地区5个比较有名的蔬菜配送公司
  10. openwrt开发--ILI9341屏幕显示开发