Python学习之函数进阶】的更多相关文章

一,递归函数: 做程序应该都知道,在一个函数的内部还可以调用其它函数,这叫函数的调用,但是有一种特殊的情况,在一个函数内部对自身函数的调用,我们成这为函数的递归调用. 在此,使用一个家喻户晓的例子来演示一下函数的递归调用------求阶乘: >>> func(1) 1 >>> func(10) 3628800 >>> func(100) 9332621544394415268169923885626670049071596826438162146859…
-------------------程序运行原理------------------- 1.模块的内建__name__属性,主模块其值为__main__,导入模块其值为模块名     1.创建时间,py文件比pyc文件新,则从新生成pyc.     2.magic num,做运行前版本测试,版本不同重新生成pyc.     3.PyCodeObject对象,源代码中的字符串,常量值,字节码指令,原始代码行号的对应关系.   2.LEGB规则     1.Local :本地         当前…
函数的命名空间 著名的python之禅 Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't…
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max-width: 100%; vertical-align: middle; } button, input, select, textarea { color: inherit; font: inherit; } input[type="checkbox"], input[type=&quo…
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max-width: 100%; vertical-align: middle; } button, input, select, textarea { color: inherit; font: inherit; } input[type="checkbox"], input[type=&quo…
Python学习day13-函数进阶(1) 闭包函数 闭包函数,从名字理解,闭即是关闭,也就是说把一个函数整个包起来.正规点说就是指函数内部的函数对外部作用域而非全局作用域的引用. 为函数传参的方式有常用有以下两种: 用参数的形式       xxxxxxxxxx 5         1 def func(x): 2    print(x) 3     4 func(1) 5 ​     包给函数       xxxxxxxxxx 11         1 def outter(x): 2  …
python学习8—函数之高阶函数与内置函数 1. 高阶函数 a. map()函数 对第二个输入的参数进行第一个输入的参数指定的操作.map()函数的返回值是一个迭代器,只可以迭代一次,迭代过后会被释放. # self define a function def map_xuan(func,array): temp = [] for i in array: tem = func(i) temp.append(tem) return temp num_1 = [1,2,5,6,9] print(m…
python学习7—函数定义.参数.递归.作用域.匿名函数以及函数式编程 1. 函数定义 def test(x) # discription y = 2 * x return y 返回一个值,则返回原本的object: 过程与函数的区别,过程无return返回值,但是python会自动赋予一个None返回值. def test(x) # discription y = 2 * x print(y) 若返回多个值,python会将多个元素包装成一个元组,并返回.即实际上仍然只返回一个值. 函数只要…
简介 函数是可以重用的程序段.首先这段代码有一个名字,然后你可以在你的程序的任何地方使用这个名称来调用这个程序段.这个就是函数调用,在之前的学习中我们已经使用了很多的内置函数像type().range(). 通过关键字def定义函数 def 函数名([参数]): 代码块 一个简单的函数 def sayHello(): print('Hello world!') sayHello() 运行结果 函数参数 函数中的参数名称为形参,提供给函数调用的值称为实参. 参数在函数定义的圆括号中指定,使用“,”…
函数进阶 1.函数命名空间和作用域 命名空间一共分为三种: 全局命名空间 局部命名空间 内置命名空间 *内置命名空间中存放了python解释器为我们提供的名字:input , print , str , list , tuple... 三种命名空间之间的加载与取值顺序: 加载顺序:内置命名空间(程序运行前加载)->全局命名空间(程序运行中:从上到下加载)->局部命名空间(程序运行中:调用时才加载) 取值顺序: 在局部调用:局部命名空间->全局命名空间->内置命名空间 在全局调用:全…
今日学习内容: 1.什么是函数 :函数就是一个含有特定功能的变量,一个解决某问题的工具 函数的定义:通过关键字def + 功能名字():代码体(根据需求撰写代码逻辑) 2.为什么要用函数:可以复用:函数功能定义好了之后,根据主程序的需要随时调用该函数,需要一次就调用一次,而函数只有一个.让主程序代码结构更加清晰:便于维护,变更某功能只需要变更一次. 3.函数的四部分:函数名 调用函数的依据 函数体:完成功能的代码块 返回值:执行函数体后,一定会有一个结果,可以通过return将其值返回给外界.-…
上一节,我们学习了Python中是如何定义和调用函数且如何得到返回值的.在调用函数时,有的函数需要参数来启动函数,有的则无需参数.这一节我们来介绍Python中有哪些参数类型. 位置参数 在调用函数时,必须按照参数定义的顺序依次赋给参数 默认参数 只需赋给常变参数,不常变参数将作为默认值传递给函数.如果需要替换不常变参数的默认值,只需在调用函数时向该参数传入想要的值即可.定义默认值参数时,要将常变参数定义在前,默认值参数定义在后. 可变参数  由于有些函数的参数个数是不确定的,Python提供可…
函数基础 ### 函数简介 - 定义:具有特定功能的一段代码 - 优点: - 可以减少代码的重复书写 - 可以将功能的实现着和使用者分开,可以提高开发效率 - 分类: - 库函数:print.input.type等 - 自定义:用户自己封装的函数 ### 函数使用 - 函数定义格式 ```python def 函数名([参数列表]): 函数体 ``` > []表示参数是可选的,参数可以有,也可以没有,有也可以是一个或多个. - 函数名: - 像变量名一样,只要符合标识符命名规范即可. - 函数调…
###############    函数的命名空间和作用域    ############## """ # 函数进阶 命名空间和作用域 命名空间 全局命名空间——我们自己写的非函数中的代码 是在程序从上到下被执行的过程中依次加载进内存的, 放置了我们设置的所有的变量名和函数名, 局部命名空间,——函数 就是函数内部定义的名字 在函数调用的时候才会产生这个命名空间,随着函数调用的结束,这个命名空间就消失了, 内置命名空间,——Python解释器, 就是Python解释器一启动…
>>> def power(x): ... return x * x ... >>> power(5) 25 >>> def power(x, n): ... s = 1 ... while n > 0: ... n = n - 1 ... s = s * x ... return s ... >>> power(5, 2) 25 >>> power(5) # 原来一个参数的函数失效了 Traceback (m…
函数 我们知道圆的面积计算公式为: S = πr2 当我们知道半径r的值时,就可以根据公式计算出面积.假设我们需要计算3个不同大小的圆的面积: r1 = 12.34 r2 = 9.08 r3 = 73.1 s1 = 3.14 * r1 * r1 s2 = 3.14 * r2 * r2 s3 = 3.14 * r3 * r3 当代码出现有规律的重复的时候,你就需要当心了,每次写3.14 * x * x不仅很麻烦,而且,如果要把3.14改成3.14159265359的时候,得全部替换. 有了函数,我…
python查看对象,函数帮助文档:.__doc__,例:str.split.__doc__ 查看详细对象,函数文档:help(),例:help(str.split) 函数参数可设置默认值 如果不能提前确定参数个数,可以采用可变参数,因此,python不必支持函数的重载,更简单,更方便的实现重载 函数示例: 求最大公约数.最小公倍数函数封装…
一,引言 现在我有个问题,函数里面的变量,在函数外面能直接引用么? def func1(): m = 1 print(m) print(m) #这行报的错 报错了:NameError: name 'm' is not defined 上面为什么会报错呢 ?现在我们来分析一下python内部的原理是怎么样: 我们回忆一下python代码的运行是哦湖遇到函数是怎么做的,从python解释器开始执行后,就在内存开辟一个空间,每当遇到一个变量的时候,就把变量名和值之间的关系记录下来,但是当遇到函数定义的…
匿名函数 lambda的用法: lambda x:x+1 解释,同等于以下函数 def test(x): return x+1 因为没有函数名,所以称为匿名函数 只适用于简易的逻辑,复杂逻辑无法实现 lambda一般是嵌套在其他内容中,只是为了简化代码 函数作用域 理解全局变量和局部变量的概念 全局变量,定义的变量无缩进,即在代码层最外围: 局部变量,定义的变量有缩进,属于某个代码块中. 全局变量: a  = 1 def test(): print(a)    #结果为1 print(a)   …
原文:https://blog.csdn.net/GeekLeee/article/details/78519767 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/GeekLeee/article/details/78519767属性函数(property)有以下作用: - 将类方法转换为只读属性 - 重新实现一个属性的setter和getter方法 将类方法转换为只读属性class Person(object): """&…
Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻辑层去调用数据访问层执行数据库操作 import MySQLdb def GetList(sql): db = MySQLdb.connect(user='root', db='wupeiqidb', passwd='1234', host='localhost') cursor = db.cursor() cursor.…
Python函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.我们已经知道Python提供了许多内建函数,比如print().但我们也可以自己创建函数,这被叫做用户自定义函数. 定义一个函数 我们可以定义一个由自己想要功能的函数,以下是简单的规则: 函数代码块以def关键词开头,后接函数标识符名称和圆括号(). 任何传入参数和自变量必须放在圆括号中间.圆括号之间可以用于定义参数. 函数的第一行语句可以选择性地使用文档字符串-用于…
我们写东东的时候,往往有一些东西要频繁去复用,那么每个功能是10行代码,复用2次就是20行,这样看来我们的程序如果频繁利用某些代码的话,那么会是我们开发的东西越来越臃肿.那么好的方法有没有呢,那就是函数,函数可以把功能进行模块化,当大量复用的时候,可以有效的减少代码数量. 那么啥叫函数呢?打个土鳖的比方,比如我要从单位回老家的话,需要先坐地铁去火车站,然后乘坐XXx列火车回XX地,然后再打车回家. 好的,那么我们可以把这个过程抽象成一个函数命名为"回老家",当我把这个过程讲述一遍以后,…
函数是对程序逻辑进行结构化或过程化的一种编程方法.函数具有两个方面的意义:1)将代码分块,易于管理和阅读:2)最大化代码复用和最小化代码冗余,节省空间,有助于保持一致性. 1. 函数定义 Python中函数的定义,主要包括三个部分: 标题行:def关键字,函数名,参数集合.注意,在函数定义的时候,不用指定函数的返回值,这与其他语言有区别. 文档字串:可选,强烈推荐 函数体:必需 def function_name(arguments): "function_documentation_strin…
-------------------类属性和实例属性关系------------------- 1.类属性和实例属性关系     1.实例属性         实例对象独有的属性     2.类属性         类名访问类属性     3.实例中无同名属性时,可访问到类属性,当定义同名实例属性时,则无法访问     4.常用的查找指令         1.vars :查看实例内属性         2.dir :显示类属性和所有实例属性         3.type :显示类型   ---…
#!/usr/bin/python   import sys   def isNum(s):     for i in s:         if i in '0123456789':            pass         else:             print "%s is not a number" %s             sys.exit()     else:         print "%s is a number" %s   i…
迭代器和生成器 迭代和可迭代 什么是迭代(iteration)? 如果给定一个list或tuple,我们要想访问其中的某个元素,我们可以通过下标来,如果我们想要访问所有的元素,那我们可以用for循环来遍历这个list或者tuple,而这种遍历我们就叫做迭代. 可迭代(iterable)? 其实你已经知道,不是所有的数据类型都是可迭代的.那么可迭代的数据类型都有什么特点呢? print(dir([1,2])) print(dir((2,3))) print(dir({1:2})) print(di…
函数Ⅱ(参数&作用域) 知识小结: py2与py3的区别 逻辑运算()>not>and>or 字符串翻转切片翻转 is与==区别 git相关 数据类型判断 操作系统:centos,redhat 数据类型的操作方法 深浅拷贝 大文件(日志文件)读取 一行写成99乘法表 1.参数 实际参数可以是任何值 函数没有返回值,默认返回None 函数内部执行时,遇到return就终止运行 return可以返回任何数据类型的值,多个值时返回元组 # enconding: utf-8def tes…
复习 1.函数对象:函数名 => 存放的是函数的内存地址1)函数名 - 找到的是函数的内存地址2)函数名() - 调用函数 => 函数的返回值 eg:fn()() => fn的返回值一定是函数使用:1)直接被其他变量接收 - 将函数的内存地址直接给其他变量 => 被赋值的变量也是函数对象2)可以作为函数的参数 - 函数的形参接收到的实参是函数对象 => 形参被赋值后也是函数对象   ---  实现将外层的函数传到函数内部调用3)可以作为函数的返回值 - 用变量在外界调用并接受…
复习 1.字符串的比较: -- 按照从左往右比较每一个字符,通过字符对应的ascii进行比较 2. 函数的参数 : 1)实参与形参:       -- 形参:在函数定义时()中出现的参数        -- 实参:在函数调用时()中出现的参数 2)实参的分类       -- 位置实参:给位置形参,必须按位置       -- 关键字实参:给位置与关键字形参,不需要按顺序 3)形参的分类      -- 无值位置      -- 有值位置      -- 可变长位置      -- 有无值关键字…