Python入门-函数进阶】的更多相关文章

昨天我们简单的了解了函数的定义,调用,以及传参,其实还有一个更重要的传参:动态传参,让我们继续昨天没有说完的,以及今天我要分享的东西. 一.动态传参 之前我们说过了传参,如果我们需要给一个函数传参,而函数又是不确定的,或者我给一个函数传很多参数,我的形参就要写很多,很麻烦,怎么办呢?我们可以考虑用动态参数 形参的第三种:动态参数 动态参数分两种: 1.动态接收位置参数 首先我们先回顾一下位置参数,位置参数按照位置进行传参 def chi(zhushi,fushi): print('我要吃',zh…
人们常说Python语言简单,编写简单程序时好像也确实如此.但实际上Python绝不简单,它也是一种很复杂的语言,其功能特征非常丰富,能支持多种编程风格,在几乎所有方面都能深度定制.要想用好Python,用它解决复杂问题,开发功能正确的.效率高的程序,需要很好地理解上面说明的许多高级概念和特征,还需要理解这门语言的内在性质. Python虽说是目前非常热门的一种编程语言,但有关Python编程和应用的书籍,虽不能说是汗牛充栋.铺天盖地,也是林林总总.选择很多.<程序员学Python>与其他书籍…
Python入门-函数的使用到Python的公布安装 本文主要适合有一定编程经验,至少掌握一门编程语言的人查看. 文中样例大多都是简单到认识英文单词就能看懂的水平,主要讲的是Python的总体使用方法和结构.不会设计高深层次,对Python入门有一定帮助. Python和Java对照.会看到Python设计思想在于简洁.有用.强大,每个程序猿都值得学习和掌握. Python函数的定义及有用 Python中的函数是一个命名的代码块.和Java一样,能够带0个或多个參数.主要形式如 def $函数名…
[转]Python之函数进阶 本节内容 上一篇中介绍了Python中函数的定义.函数的调用.函数的参数以及变量的作用域等内容,现在来说下函数的一些高级特性: 递归函数 嵌套函数与闭包 匿名函数 高阶函数 内置函数 总结 一.递归函数 函数是可以被调用的,且一个函数内部可以调用其他函数.如果一个函数在内部调用本身,这个函数就是一个递归函数.函数递归调用的过程与循环相似,而且理论上,所有的递归函数都可以写成循环的方式,但是递归函数的优点是定义简单,逻辑清晰.递归和循环都是一个重复的操作过程,这些重复…
函数进阶: 一.动态参数:*args  **kwargs *args是元祖形式,接收除去键值对以外的所有参数 # args可以换成任意变量名,约定俗成用args **kwargs接收的只是键值对的参数,并保存在字典中. # kwargs可以换成任意变量名,约定俗成用kwargs *的魔性用法: l1 = [1,2,3] l2 = ['alex','taibai'] def func1(*args): print(args) # 结果:('1','2','3','alex','taibai') f…
Python(函数进阶) 一.函数的传参(接上期) 形参角度(一共四种,后两种) 动态参数(万能参数)* # 定义一个函数时,*所有的位置参数聚合到一个元组中 def func(*args): # *args这里是一个元组 print(f"名门正派都有:{arg}") func("少林","武当","峨眉") # 名门正派都有:("少林","武当","峨眉") ---…
随着人工智能全面爆发,Python[英文单词:蟒蛇],是一款近年来爆红的计算机编程语言.1989年发明,1991年发行,比目前应用最广的Java还要大7岁,有种大器晚成的感觉. 分享之前我还是要推荐下我自己建的Python开发学习群:628979297,群里都是学Python开发的,如果你正在学习Python ,小编欢迎你加入,今天分享的这个案例已经上传到群文件,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2018最新的Python进阶资料和高级开发…
本节内容 上一篇中介绍了Python中函数的定义.函数的调用.函数的参数以及变量的作用域等内容,现在来说下函数的一些高级特性: 递归函数 嵌套函数与闭包 匿名函数 高阶函数 内置函数 总结 一.递归函数 函数是可以被调用的,且一个函数内部可以调用其他函数.如果一个函数在内部调用本身,这个函数就是一个递归函数.函数递归调用的过程与循环相似,而且理论上,所有的递归函数都可以写成循环的方式,但是递归函数的优点是定义简单,逻辑清晰.递归和循环都是一个重复的操作的过程,这些重复性的操作必然是需要有一定的规…
一,生成器表达式 #生成器表达式比列表解析更省内存,因为惰性运算 #!/usr/bin/env python #_*_coding:utf-8_*_ new_2 = (i*i for i in range(100)) #生成器表达式 print(list(new_2)) #注意括号是小括号 对比 #!/usr/bin/env python #_*_coding:utf-8_*_ # egg_list=['鸡蛋%s' %i for i in range(10)] 列表推倒式 # print(egg…
本节主讲python函数的基本用法,主要包括传递参数.匿名函数和变量作用域. 一.传递参数 python除了传递必需参数外,还可以传递默认参数,不定长参数和关键字参数. 1. 传递必需参数 def myfunc(str) : print(str) myfunc('hello...') hello... 2. 传递默认参数 def myfunc(name, age=30) : print('name:', name) print('age:', age) myfunc(age=25, name='…
楔子 假如有一个函数,实现返回两个数中的较大值: def my_max(x,y): m = x if x>y else y return mbigger = my_max(10,20)print(bigger) 之前是不是我告诉你们要把结果return回来你们就照做了?可是你们有没有想过,我们为什么要把结果返回?如果我们不返回m,直接在程序中打印,行不行? 来看结果: >>> def my_max(x,y): ... m = x if x>y else y ... >&…
首先来看下面这个函数. def func(x,y): bigger = x if x > y else y return bigger ret = func(10,20) print(ret) #运行结果 : 20 在上面的函数中我们把较大值通过return这个关键字返回回来了,如果我不返回而是直接打印可不可以?如下: def func(x,y): bigger = x if x > y else y func(10,20) print(bigger) #运行结果 : NameError: n…
一,装饰器本质 闭包函数 功能:就是在不改变原函数调用方式的情况下,在这个函数前后加上扩展功能 作用:解耦,尽量的让代码分离,小功能之前的分离. 解耦目的,提高代码的重用性 二,设计模式 开放封闭原则 *对扩展是开放的 *对修改是封闭的 三,代码解释 *通用代码 #!/usr/bin/env python #_*_coding:utf-8_*_ def timmer(func): #---> jjj def inner(*args,**kwargs): ret = func(*args,**kw…
一,匿名函数 #简单的需要用函数去解决的问题 匿名函数的函数体 只有一行#也叫lambda表达式# cal2(函数名) = lambda n(参数) : n*n(参数怎么处理,并且返回值)#参数可以有多个,用逗号隔开#匿名函数不管逻辑多复杂,只能写一行,且逻辑执行结束后的内容就是返回值#返回值和正常的函数一样可以是任意数据类型1.函数和匿名函数 #!/usr/bin/env python #_*_coding:utf-8_*_ def cal(n): return n*n print(cal(1…
一,可迭代的&可迭代对象 1.一个一个的取值就是可迭代的   iterable#str list tuple set dict#可迭代的 ——对应的标志 __iter__ 2.判断一个变量是不是一个可迭代的 # print('__iter__' in dir(list))# print('__iter__' in dir([1,2,3])) 3.可迭代协议——凡是可迭代的内部都有一个__iter__方法 二,迭代器 1.将可迭代的转化成迭代器 #!/usr/bin/env python #_*_…
一,内置函数 #内置的模块#拿过来直接就用的:内置的函数 #!/usr/bin/env python #_*_coding:utf-8_*_ #内置的模块 #拿过来直接就用的:内置的函数 #作用域相关(2)(了解) #1.globals()==获取全局变量的字典 #2.locals()==获取执行方法所在命名空间内的局部变量的字典 #str类型代码执行相关(3) #1.eval()==将字符串类型的代码执行并返回结果==(掌握) #print(eval('1+2+3+4')) #print(ev…
一,什么叫递归 #递归#在一个函数里调用自己#python递归最大层数限制 997#最大层数限制是python默认的,可以做修改#但是我们不建议你修改 例子和尚讲故事 #!/usr/bin/env python #_*_coding:utf-8_*_ #:基础版本 def story(): print("从前有座山,山里有座庙,庙里有个老和尚讲故事,讲的什么呀?") while True: story() #:递归版本 def story(): #递归函数,在一个函数内调用自己 #最大…
一,命名空间 #局部命名空间#全局命名空间#内置命名空间 #三者的顺序#加载顺序       内置命名空间(程序运行前加载)->全局命名空间(程序运行中:从上到下加载)->局部命名空间(程序运行中:调用时才加载) 取值 *在局部调用:局部命名空间>全局命名空间>内置命名空间 #!/usr/bin/env python #_*_coding:utf-8_*_ max = 1 def f(): print(max) #局部调用max会找全局max=1,如果没有就会打印内置max f()…
一.生成器补充 1.什么是生成器? 可以理解为一种数据类型,这种数据类型自动实现了迭代器协议(其他的数据类型需要调用自己内置的__iter__方法),所以生成器就是可迭代对象. 2.生成器分类 (1)生成器函数:常规函数定义,但是,使用yield语句而不是return语句返回结果.yield语句一次返回一个结果,在每个结果中间,挂起函数的状态,以便下次从它离开的地方继续执行. (2)生成器表达式:类似于列表推导,但是,生成器返回按需产生结果的一个对象,而不是一次构建一个结果列表. 3.为何使用生…
一.函数对象 函数是第一类对象,即函数可以当作数据传递 1 可以被引用 2 可以当作参数传递 3 返回值可以是函数 4 可以当作容器类型的元素 def foo(): print('from foo') func=foo #将函数赋值给func print(foo) #打印函数,将返回函数在内存中的地址 print(func) #此时func = foo func() #加上大括号才能引用函数 运行结果: <function foo at 0x00000000007E00D0> <func…
1. 动态传参 *, ** : 形参: 聚合 位置参数* -> 元组 def func(*args, a, b, c): print(a, b , c, args) func(1,2,3,4,5,6,7, a=8, b=9,c=10) 关键字** -> 字典 def func(**kwargs): print(kwargs) func(a=1, b=2, c=3, haha="呵呵", good="not bad") 实参: 打散 列表, 字符串, 元素…
定义:将一组语句的集合通过一个名字(函数名)封装起来,要先执行这个函数,只需要调用其函数名即可.特性:1.减少重复代码2.使程序变的可扩展3.使程序变的易维护 函数参数:形参和实参形参:位置参数,关键参数,默认参数,非固定参数 参数可以让函数更灵活默认参数必须放在位置参数后面…
嵌套函数 ---函数内部可以再次定义函数 ---函数若想执行,必须被调用 注意,下例中,执行结果为什么? age = 19 def func1(): print(age) def func2(): print(age) func2() age = 73 func1() 如下: 执行fun2()时,age按从内而外规则寻找,但age = 73还未执行.但又被检测到赋值语句,因此程序不知道应该从哪里寻找,故报错. *global.nonlocal关键字: global:声明变量在全局作用域内使用 n…
1 函数传递参数 def greet_users(names): """向列表中的每个用户都发处问候""" for name in names: msg = "Hello ," + name.title() + "!" print(msg) usernames = ['baker','xiaocui','xiaoding'] greet_users(usernames) 2 修改函数中的列表 unprint…
1定义函数并且调用  注释语句""" """ def greet_user(): """显示简单的问候语""" print("hello!") greet_user() 2定义带参数的函数 def greet_user(username): """显示简单的问候语""" print("hello&q…
Basic Python : Map, Filter, Reduce, Zip 1-Map() 1.1 Syntax # fun : a function applying to the iterable object # iterable : such as list, tuple, string and other iterable object map(fun, *iterable) # * token means that multi iterables is supported 1.2…
等待更新…………………… 后面再写…
github地址:https://github.com/wangxiao9/basic_python.git…
Python作为为数不多的全场景开发语言之一,近年来已经获得了越来越多人的关注,而整个IT行业也释放出了大量的Python就业岗位.因此,当前学习Python语言是非常不错的选择,文泽带你进一步走进Python的世界! Python 简介Python定义:是一个免费.开源.跨平台.动态.面向对象的编程语言. Python程序的执行(运行)方式有两种:交互式.文件式. 交互式即在命令行输入指令,回车即可得到结果. 1.打开终端 2.进行交互式:python3 3.编写代码:print(“hello…
Matplotlib 一 简介: 二 相关文档: 三 入门与进阶案例 1- 简单图形绘制 2- figure的简单使用 3- 设置坐标轴 4- 设置legend图例 5- 添加注解和绘制点以及在图形上绘制线或点 6- 绘制散点图 7- 绘制柱状图 8- 绘制登高线图 9- 绘制Image 10- 绘制3D图形 11- subplot绘制多图 12- figure绘制多图 13- figure图的嵌套 14- 主次坐标轴 15- 创建动画 Matplotlib 一 简介: Matplotlib是一…