基于C++\C\JAVA的python入门
星期天闲来无事,很早之前就有兴趣学习一门新的脚本语言,便选择了python作为学习对象,看看所谓的脚本语言的奥秘。
本篇文章是入门篇,主要实在C/C++/matlab/JAVA的基础上,介绍了快速入门python的一些必要知识,在不妨碍理解
python语言精髓的含以上管中窥豹,也是把python作为一种解决问题的方案使用而非认真研究。
Window 7 64位操作系统下的python安装请见这篇文章。
一下的资料都是建立在C++/JAVA等编程语言有一定了解的基础之上的。
了解了这些,应该可以对python有一个大致的了解, 在处理一般的问题时,大部分可以自己解决或者知道应该如何去找解决方法。
对于python的入门主要有三个方面:
1. 控制结构
2. 数据结构
3. 函数、类和对象
控制结构
1. 语句块通过并且只通过缩进表示。
没有begin,没有end
2. for循环中的索引变量会迭代列表中的元素。计数循环还可以使用内建的range函数
for value in range(100)
print(value)
#vaule from 0 to 99
for value in [1 ,2 ,4]
print(value)
#value : 1,2,4
3. 注释用#
4. 交互: 使用内建的input函数,输入的是一个字符串,以\n结尾,可以根据需要转换成其他类型的变量
数据结构
最主要的有两种:
1. 列表 用中括号实现,自然嵌套,与matlab类似,索引从零开始,结尾索引不包括在内,比如1:5指的是a[0]~a[4],索引的负数表示倒数第n个元素
2. 字典 类似于JAVA中的HASH MAP
函数
一个函数,也被称为一个procedure
使用def的关键字定义
例如:
def square(x):
return x*x
同一个函数的参数可以有多种类型,类似于C++里的重载
类和对象
用class定义类,类的参数中必须有self,类似于C++的this
类的封装没有私有、保护、公有之分,封装更像是一种编程风格。
python的一些特点:
1. 短路逻辑,这一点其实也跟C++很像嘛,更像是一种思维方式而已。
a or b ,先判断a,如果为真返回1,否则返回b
只需要知道有这种形式就可以了。
也有条件表达式的东西,就是: a if a else b,类似于三目运算符
2. 模块,大多数有用的函数和类都在模块中,引用模块的方法有两种:
1. 命名空间, math.sqrt , math是标准模块,sqrt是模块里的函数
2. import方法, from math import sqrt
x = sqrt(y)