Python3学习五之数据结构总算熬到函数了
Python中的函数规则:
- 函数代码块以def开头
- def后紧跟函数名
- 函数名后是由()括起来的参数列表
- 参数列表后没有{}而是:
- return用于返回数据
- 直接通过函数名调用
- 函数体首行可以用双引号""写明函数说明
- 参数列表中需要注意的一点是可以使用不定长参数格式是:def function(*var):
- 匿名函数lsmbda比def的结构体更简单
# -*- coding: utf-8 -*- func_abs = lambda arg1:abs(arg1) print(func_abs(-10))
- Python的参数也分为全局变量跟局部变量,跟java无异
如:def 函数名 (参数列表) :
列表的堆栈、队列功能:
通过使用append()和pop()方法可以将列表当作堆栈使用,其中,append()用来添加栈顶元素,而pop()用来删除栈顶元素
通过使用append()和popleft()方法可以将列表当作队列使用,其中,popleft()用来取出队列首元素
很简单,就不举例子了,兰兰
![吐舌头](http://static.blog.csdn.net/xheditor/xheditor_emot/default/tongue.gif)
列表推导式:
列表推导式提供了从序列创建列表的简单途径。通常应用程序将一些操作应用于某个序列的每个元素,用其获得的结果作为生成新列表的元素,或者根据确定的判定条件创建子序列。举个例子就很好理解了:
# -*- coding: utf-8 -*-
def list_tuidao(list):
print([2*x for x in list])
print([[str(x)+'的平方:',pow(x,2)] for x in list])
print([[str(x)+'的平方:',pow(x,2)] for x in list if x%2==0])
list_tuidao([1,2,3,4,5,6])
运行结果,是不是很爽啊
后面也可以跟多个for就有多个变量了
嵌套列表:
def list_qiantao(list):
print([[row[i] for row in list] for i in range(3)])
list_qiantao([[1,2,3],[4,5,6],[7,8,9]])
运行结果
Python的模块module:
每个module都是一个.py文件,在另一个module中调用另一个module中的方法时可以通过关键字import先引入module,然后通过module名字调用方法就行了,命令行中运行也是一样的
如果只需要引用一个module中的一部分函数,可以使用关键字from格式:from module_name import func1,func2就可以了
![大笑](http://static.blog.csdn.net/xheditor/xheditor_emot/default/laugh.gif)
__name__属性:一个模块被另一个程序第一次引入时,其主程序将运行。如果我们想在模块被引入时,模块中的某一程序块不执行,我们可以用__name__属性来使该程序块仅在该模块自身运行时执行。
增加一个判断就行:
if __name__ == '__main__':
#将不想被执行的代码放在这里
pass
else:
pass