杨晨昊
1. python简介
据说python是Guido van Rossum大神圣诞节时为了打发时间写的编程语言,现在已经成了最流行的编程语言之一。
所以说大神的境界只是我们用来膜拜的。
不同的语言有不同的应用方向,这是由语言的特点决定的。比如说C语言因为运行速度比较快,适合用来编写操作系统等硬件方向的代码,而不适合大型软件项目;python则由于其代码库种类较多且完善程度较高,适合用来编写应用程序,网站等。
据说python是一种优雅、明确、简单的语言,因此我对其进行了基础的学习,学习结果如下:
2. 数据类型&变量
与javascript类似,python同样是一种动态语言,变量类型可以随时修改。赋值时只需列出变量名称即可,相比C与JAVA无疑方便了不少。
3. list&tuple
与haskell类似,python同样有list与tuple的概念,并且功能更为强大:
1.list的索引为非负数数时,可以从前向后访问其中元素;list索引为负数时,可以从后向前访问元素
2.list支持元素的插入,删除等操作
3.list中的元素数据类型可以不同
4.tuple与list类似,但不支持修改
4. 条件循环&判断
条件判断格式:
if <条件判断1>:
<执行1>
elif <条件判断2>:
<执行2>
elif <条件判断3>:
<执行3>
else:
<执行4>
条件循环包括for形式和while形式:
for形式:
sum = 0
for x inrange(101):
sum = sum + x
print sum
while形式:
sum = 0
n = 99
while n > 0:
sum = sum + n
n = n - 2
print sum
5. 输入
raw_input函数可以实现输入。
值得一提的是,输入结果默认为字符串。
6. dict&set
dict是建立了映射关系的list,方便对元素的value进行查找:
>>>d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
>>>d['Michael']
95
set是无value的dict,不允许重复元素存在(不就是集合么):
>>>s = set([1, 2, 3])
>>> s
set([1, 2, 3])
7. 函数
函数的定义:
defmy_abs(x):
if x >= 0:
return x
else:
return –x
值得一提的是,函数支持返回多个值。
//不过事实上只是返回了一个tuple
支持默认参数(应使用不可变对象),可变参数(传入tuple),关键字参数(传入dict)
8. 切片
取list或tuple的部分元素,避免了循环操作
>>> L = ['Michael', 'Sarah','Tracy', 'Bob', 'Jack']
>>> L[0:3]
['Michael', 'Sarah', 'Tracy']
9. List Comprehensions
又是haskell中出现过的概念,但与haskell有一些区别:
>>>[x * x for x in range(1, 11)]
[1, 4, 9, 16, 25, 36, 49, 64, 81,100]
10. Generator
相比List Comprehensions只是将[]换成(),具有迭代性,且不会像list那样占用大量空间。