''''''
'''
函数:
1.定义:指通过专门的代码组织,用来实现特定的功能的代码段,具有相对独立性,可供其他代码重复调用
2.语法:
def 函数名([参数]):
函数体
[return 返回值]
3.函数名命名规则:
(1)符合基本的标识符命名原则;
(2)不能与现有内置函数名发生冲突
(3)名称应该准确的表达函数的功能
'''
#1.不带参数的函数————求因数
def factor_no_para(): nums=10
for i in range(1,11):
if nums%i==0:
print('%d'%(i))
factor_no_para() #2.带参数函数格式————求因数2.0
def factor_no_para2(nums): #在def(参数)这里面的参数叫形式参数
for i in range(1,nums+1):
if nums%i==0:
print(i)
factor_no_para2(15) #15为给自定义函数传的值(参),叫实际参数 '''
4.调用函数模块
通过import语句导入整个函数模块——导入后,通过模块名.函数名的连接方式调用函数
还可以只调用指定函数:from 模块名 import 函数名1,函数名2...
还可以导入所有函数:from 模块名 import *
别名:若模块名,函数名过长,可以通过as语句定义别名的方式解决:模块名【函数名】 as 别名
5.参数
notes:1.不定长参数:(1)传递任意数量的参数值:*
(2)传递任意数量的键值对:**
2.参数可以传递元组,列表和字典
'''
def exam(name,score):
print('name:'+name+',score:'+str(score)) exam('liu',100)
exam(name='wang',score=100)
exam(score=90,name='ma')
exam('li',score=50) def fruit(name,**attribute):
print('name:'+name)
return attribute print(fruit('watermelon',color='green',shape='圆形',taste='sweet')) #传递的是键值对
'''
结果为:name:watermelon
{'color': 'green', 'shape': '圆形', 'taste': 'sweet'}
'''
'''
6.作用域
(1)全局变量:从赋值开始,后续代码都可以访问该变量
(2)局部变量:只能在被定义的函数或者类内部被访问的变量
7.关键字——global
全局变量在函数中不能对其进行修改,如需修改,要先用global关键字声明
'''
i=10 def sum1():
global i #声明i为全局变量
i=i+5
print(i)
sum1()
print(i)
'''
8.闭包
是介于全局变量和局部变量之间的一种特殊变量。 '''
j=5
def sum2():
k=2 #闭包变量k
def sum3():
i=k+j
return i
return sum3()
print(sum2())
'''
9.nonlocal关键字
外部函数定义一个变量,内部函数去调用,这个变量就叫闭包变量,如果内部函数想修改这个闭包变量,需要用nonlocal关键字声明。
10.匿名函数
lambda
11.递归函数
'''
a=lambda x,y:x*y
m=a(2,3)
print(m)

python学习11函数的更多相关文章

  1. python学习8—函数之高阶函数与内置函数

    python学习8—函数之高阶函数与内置函数 1. 高阶函数 a. map()函数 对第二个输入的参数进行第一个输入的参数指定的操作.map()函数的返回值是一个迭代器,只可以迭代一次,迭代过后会被释 ...

  2. python学习7—函数定义、参数、递归、作用域、匿名函数以及函数式编程

    python学习7—函数定义.参数.递归.作用域.匿名函数以及函数式编程 1. 函数定义 def test(x) # discription y = 2 * x return y 返回一个值,则返回原 ...

  3. 从0开始的Python学习007函数&函数柯里化

    简介 函数是可以重用的程序段.首先这段代码有一个名字,然后你可以在你的程序的任何地方使用这个名称来调用这个程序段.这个就是函数调用,在之前的学习中我们已经使用了很多的内置函数像type().range ...

  4. python学习Day10 函数的介绍(定义、组成、使用)

    今日学习内容: 1.什么是函数 :函数就是一个含有特定功能的变量,一个解决某问题的工具 函数的定义:通过关键字def + 功能名字():代码体(根据需求撰写代码逻辑) 2.为什么要用函数:可以复用:函 ...

  5. Python学习之函数参数

    上一节,我们学习了Python中是如何定义和调用函数且如何得到返回值的.在调用函数时,有的函数需要参数来启动函数,有的则无需参数.这一节我们来介绍Python中有哪些参数类型. 位置参数 在调用函数时 ...

  6. Python学习笔记 - 函数参数

    >>> def power(x): ... return x * x ... >>> power(5) 25 >>> def power(x, n ...

  7. Python学习笔记—函数

    函数 我们知道圆的面积计算公式为: S = πr2 当我们知道半径r的值时,就可以根据公式计算出面积.假设我们需要计算3个不同大小的圆的面积: r1 = 12.34 r2 = 9.08 r3 = 73 ...

  8. Python学习之函数篇

    python查看对象,函数帮助文档:.__doc__,例:str.split.__doc__ 查看详细对象,函数文档:help(),例:help(str.split) 函数参数可设置默认值 如果不能提 ...

  9. Python学习--05函数

    Python函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.我们已经知道Python提供了许多内建函数,比如print().但我们 ...

随机推荐

  1. Unity引擎入门——制作第一个2D游戏(1)

    Unity作为当今最流行的游戏引擎之一,受到各大厂商的喜爱. 像是炉石传说,以及最近的逃离塔克夫,都是由unity引擎开发制作. 作为初学者的我们,虽然无法直接做出完成度那么高的作品,但每一个伟大的目 ...

  2. 听说你还搞不定java中的==和equals?

    相信很多读者关于==和equals懂了又懵,懵了又懂,如此循环,事实上可能是因为看到的博客文章之类的太多了,长篇大论,加上一段时间的洗礼之后就迷路了.本篇文章再一次理清楚.当然如果觉得本文太啰嗦的话, ...

  3. 《Java基础复习》—规范与基础

    参考书目<Java 编程思想>所以大家放心食用 一.注释规范以及API文档 1.注释 1.1三种注释方法 //注释内容 单行注释 /* 注释内容 */ 多行注释 /**注释内容*/ 文档注 ...

  4. Light of future-冲刺Day 3

    目录 1.SCRUM部分: 每个成员进度 SCRUM 会议的照片 签入记录 代码运行截图 发布界面 用户浏览界面 管理员浏览界面 2.PM 报告: 时间表 燃尽图 任务总量变化曲线 每名成员的贡献比 ...

  5. 一篇blog带你了解java中的锁

    前言 最近在复习锁这一块,对java中的锁进行整理,本文介绍各种锁,希望给大家带来帮助. Java的锁 乐观锁 乐观锁是一种乐观思想,即认为读多写少,遇到并发写的可能性低,每次去拿数据的时候都认为别人 ...

  6. win下youtube-dl 【ERROR: requested format not available】选下载视频质量的坑--【值得一看】

    需求说明(bug出处): 简单说:下载youtube的视频,嵌入翻译好的中文字幕. 详细说(可略过): 阿里的海外服务器需要布一个Web Service---用以接收国内(本地服务器)的请求, 然后用 ...

  7. 讲真,这两款idea插件,能治愈你英语不好的病

    时不时就有小伙伴问我,"二哥,能推荐一款 IDE 吗?"你看这话问的,现在搞 Java 的不都在用 Intellij IDEA 吗,还用得着推荐(我已经和 Eclipse 分手了) ...

  8. 004-流程控制-C语言笔记

    004-流程控制-C语言笔记 学习目标 1.[掌握]关系运算符和关系表达式 2.[掌握]逻辑运算符和逻辑表达式 3.[掌握]运算符的优先级和结合性 4.[掌握]if-else if-else结构的使用 ...

  9. C语言折半查找法练习题冒泡排序

    C语言折半查找法练习题 折半查找法: 折半查找法是效率较高的一种查找方法.假设有已经按照从小到大的顺序排列好的五个整数num[0]~num[4],要查找的数是key,其基本思想是: 设查找数据的范围下 ...

  10. N皇后问题 回溯非递归算法 C++实现2

    运行结果 代码如下 #include <bits/stdc++.h> using namespace std; ; const char *LINE32 = "--------- ...