python征程1.4(初识python)

1.列表解析。

(1)这是一个,让人听起来十分欣喜的术语,代表着你可以通过一个循环将所有值放到一个列表中。python列表解析属于python的迭代中的一种,相比python for循环速度会快很多。下面看下python列表解析是怎么工作的:

a = [x+ for x in range()]
print (a)
----------------------------
[2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

注:python会在解释器里对range(10)进行迭代,依次把列表里的内容取出来,赋值给最左边的x,然后执行x+2的操作,并且把执行好的结果保存在列表里。等range(10)迭代完以后就新生成了一个列表,结果就是[2, 3, 4, 5, 6, 7, 8, 9, 10, 11],从上面可以看出,这也是建立python 列表的一个方法。

(2)若是将上述列表用for循环来实现怎么实现那?

a = []
for i in range():
a.append(i+) print (a)
[, , , , , , , , , ]

注:从上面可以看的出来,python列表解析比python for循环解析列表的代码量会更少,解析速度会更快,写起来也更酷,自己单独写脚本的话,会非常的简便。但是在可读性上来看还是多使用for循环更好一些。

2.文件和内建函数,open(),file()函数。

当我们熟悉了文件的操作了以后,会发现,文件的持久存储是很重要的。

(1)如何读写文件。

file=open("test.log","w")

注意:test.log是文件的名字和打开方式。”r“表示只读,”w“表示可写,”a“表示可添加,当然这只是其中的几种打开方式。

(2)下面的代码显示,提示用户输入文件名,然后打开一个文件,并将它的内容显示出来。

filename=input("please input your filename:")
f=open(filename,"w")
for eachline in f:
print(eachline)
f.close()

注意:我们又再一次的在print语句的后面使用逗号来抑制自动生成的换行符。因为在文件中已经给每行文本加入了一个换行符。

3.错误和异常。

要给你的代码添加错误异常处理,只要将它们”封装“在try-except语句中。try之后的代码就是你打算管理的代码。except之后的代码就是处理错误的代码。

try:
f=open("filename","r")
for eachline in f:
print(eachline),
f.close()
except IOError e :
print("file open error:",e)

4.函数。

类似于其他语言,python中的函数也用()来调用,函数在调用之前要先定义,如果函数中没有return语句,就会自动返回None对象。

5.如何定义函数。

def关键字及紧随其后的函数名,再加上该函数需要的几个函数名组成函数的参数是可选的,这个语句由一个冒号结束(:)与if,while语句的结束方式是一样的。

def add(x):
"apply+operation to arguement"
return (x+x)

6.如何调用函数。

与其他类型的语言一样,都是函数名再加上一对小括号(),括号之间是任意可选的参数,既是一个参数也没有小括号也不能省去。注意一下+操作符在非数值类型中是如何工作的。

>>>add(4.25)
8.5

7.默认函数。

函数的参数是一个默认值,在函数的定义中,参数以赋值的语句提供。事实上这仅仅是提供默认参数的语法,他表示函数调用时如果没有提供这个参数,他就取这个值作为默认值。

8.类。

雷是面向对象编程的核心,它是相关数据和逻辑的存储中心,它提供了创建真实对象的蓝图。由于python并不强求你面向对象的方式编程(与java不同),所以我们可以不学习类,可以了解一下。在这里就简单的介绍一下。

9.在python中比较实用用的一些函数。

(1)dir(obj):显示对象的属性。

(2)help(obj):以一种整齐美观的方式显示对象的文档字符串。

(3)int(obj):将一个对象转换为整型。

(4)len(obj):返回对象的长度。

(5)open(obj):打开文件的方式。

(6)range(obj):约束一个循环中的范围。

(7)input(obj):内建函数。

(8)str(obj):将一个对象转换为字符型。

(9)type(obj):返回对象的类型。

上一篇:Java EE之Hibernate异常总结【2】Field 'id' doesn't have a default value


下一篇:从工程化角度讨论如何快速构建可靠React组件