您的位置:首页 > 理论基础 > 数据结构算法

Python3学习五之数据结构

2016-10-19 23:08 225 查看
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()用来取出队列首元素
很简单,就不举例子了,兰兰


列表推导式:

列表推导式提供了从序列创建列表的简单途径。通常应用程序将一些操作应用于某个序列的每个元素,用其获得的结果作为生成新列表的元素,或者根据确定的判定条件创建子序列。举个例子就很好理解了:

# -*- 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就可以了



__name__属性:一个模块被另一个程序第一次引入时,其主程序将运行。如果我们想在模块被引入时,模块中的某一程序块不执行,我们可以用__name__属性来使该程序块仅在该模块自身运行时执行。

增加一个判断就行:
if __name__ == '__main__':
#将不想被执行的代码放在这里
pass
else:
pass
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息