python之路 - 基础4
1.函数非固定参数
*args *kwargs
def test(*args):
print (args)
test(1,2,3,4,5)
test(*[1,2,3,4,5]) #*args = *[1,2,3,4,5] args=tuple([1,2,3,4,5])
l = [1,2,3]
test(*l)
def test1(x,*args):
print (x)
print (args)
test1(1,2,3,4,5,6,7)
#**kwargs,把n个关键字参数,转换成字典的方式
def test2(**kwargs):
print (kwargs)
test2(name='jiachen',age=27)
d = {'name':'jiachen','age':27}
test2(**d)
def test3(x,*args,**kwargs):
print (x)
print (args)
print (kwargs)
test3(1,*[2,3,4],**{'name':'jiachen','age':27})
2.全局变量、局部变量
#全局变量
school = 'lianhedaxue'
def test(name):
#强制修改全局变量
global school
school = 'haha'
print ('before change',name,school)
name = 'Jack' #这个函数就是这个变量的作用域
print ('after change',name)
name = 'Tom'
test(name)
print (name)
print (school)
3.递归函数
递归函数,一个函数在内部调用自己
必须有一个明确的结束条件
每次进入更深一层递归,问题规模相比上次递归都应有所减少
效率不高,递归层次过多导致栈溢出
def calc(n):
print (n)
if int(n/2) > 0:
return calc(int(n/2))
print ("->",n)
calc(10)
4.高阶函数
变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数成为高阶函数
def add(x,y,f):
return f(x) + f(y)
res = add (-1,2,abs)
print (res)
python之路 - 基础4的更多相关文章
- python之路基础篇
基础篇 1.Python基础之初识python 2.Python数据类型之字符串 3.Python数据类型之列表 4.Python数据类型之元祖 5.Python数据类型之字典 6.Python Se ...
- Python之路-基础数据类型之列表 元组
列表的定义 列表是Python基础数据类型之一,它是以[ ]括起来, 每个元素用' , '隔开而且可以存放各种数据类型: lst = [1,2,'你好','num'] 列表的索引和切片 与字符串类似, ...
- 百万年薪python之路 -- 基础数据类型的补充
基础数据类型的补充 str: 首字母大写 name = 'alexdasx' new_name = name.capitalize() print(new_name) 通过元素查找下标 从左到右 只查 ...
- python之路 - 基础1
1.安装windows安装双版本Python2,Python3 下载Python2和Python3https://www.python.org/downloads/ 分别安装两个版本 进入Python ...
- Python之路----------基础 一(数据类型、变量、基本语法、流程控制)
一. 数据类型与变量 1.数据类型 整数 #Python在程序中的表示方法和数学上的写法一模一样,-1,0,1都是整数. 浮点数 1 #浮点数就是小数. 字符串 1 #在Python中字符串是以 ...
- python之路——基础篇(2)模块
模块:os.sys.time.logging.json/pickle.hashlib.random.re 模块分为三种: 自定义模块 第三方模块 内置模块 自定义模块 1.定义模块 将一系列功能函数或 ...
- python之路 - 基础2
1.导入模块 import 模块名 form 模块名 import 模块中的函数 可以将模块放入同级目录中,也可以将模块放入site-packages目录中 import sys print (sys ...
- Python之路-基础数据类型之字符串
字符串类型 字符串是不可变的数据类型 索引(下标) 我们在日常生活中会遇到很多类似的情况,例如吃饭排队叫号,在学校时会有学号,工作时会有工号,这些就是一种能保证唯一准确的手段,在计算机中也是一样,它就 ...
- Python之路-基础数据类型之字典 集合
字典的定义-dict 字典(dict)是python中唯⼀的⼀个映射类型.他是以{ }括起来的键值对组成,字典是无序的,key是不可修改的.dic = {1:'好',2:'美',3:'啊'} 字典的操 ...
- 百万年薪python之路 -- 基础数据类型的补充练习
1.看代码写结果 v1 = [1,2,3,4,5] v2 = [v1,v1,v1] v1.append(6) print(v1) print(v2) [1,2,3,4,5,6] [[1,2,3,4,5 ...
随机推荐
- OCP-1Z0-051-题目解析-第1题
1. View the Exhibit and examine the structure of the SALES, CUSTOMERS, PRODUCTS, and TIMES tables. T ...
- Asp.net Identity 系列之 怎样修改Microsoft.AspNet.Identity.EntityFramework.IdentityUser 的 Id 字段的数据类型
这篇博客我们来学习如何将AspNetUsers 表的Id 字段 的类型由nvarchar(128) 改为Int 并且子增长 1.为什么要修改 如果你运行过 Asp.net mvc 示例项目,你好会发现 ...
- SQL远程恢复
原文:SQL远程恢复 -- ============================================= -- Author: dcrenl -- Create date: 2013-9 ...
- python网络爬虫进入(一)——简单的博客爬行动物
最近.对于图形微信公众号.互联网收集和阅读一些疯狂的-depth新闻和有趣,发人深思文本注释,并选择最佳的发表论文数篇了.但看着它的感觉是一个麻烦的一人死亡.寻找一个简单的解决方案的方法,看看你是否可 ...
- Android有关Volley使用(十)至Request和Reponse意识
我们知道,.网络Http沟通,会有一个Request,相同,也将有Response.我们Volley在使用RequestQueue来之前加入的请求.我们将创建一个Request对象,例StringRe ...
- 【转】Android官方下拉刷新控件 SwipeRefreshLayout
今天在Google+上看到了SwipeRefreshLayout这个名词,遂搜索了下,发现竟然是刚刚google更新sdk新增加的一个widget,于是赶紧抢先体验学习下. SwipeRefreshL ...
- ASP.NET MVC5 视图预编译
ASP.NET MVC5 视图预编译 ASP.NET MVC5 视图预编译 关于Razor视图及引擎原理,就不多说了. 这里通俗或者不恰当地说,cshtml视图文件是先编译成dll文件,再通过视图 ...
- SQLServer数据库误删数据找回
记一次SQLServer数据库误删数据找回 昨天 同事在本机清理数据库表时,连接到了生产机,误删了二十几张表,幸好是晚上加班的时候删除的,生产机上当时是一天一备份,还原备份是最后的策略,最关键的还是要 ...
- CompareValues标签对Model中的属性进行验证
在Asp.Net MVC中实现CompareValues标签对Model中的属性进行验证 在Asp.Net MVC中可以用继承ValidationAttribute的方式,自定制实现Model两个 ...
- UVA 568 (13.07.28)
Just the Facts The expression N!, read as `` N factorial," denotes the product of the first N ...