返回 登录
0

python入门

阅读3381

计算机语言,简单易学,上手容易,深入有一定困难。一些名词吧:动态语言、解释型、网络爬虫、数据处理、机器学习、Web开发、等;
Python目前分为2.x和3.x两个版本,它的这两个版本是不兼容的;如果没有历史遗留问题,建议初学者直接上手Python3。

开发环境搭建

在Linux系统上,默认都安装了Python解释器,你可以直接在终端输入python进入默认的环境。在Windows系统上,你需要去Python官网下载{具体,后台回复“安装包”获取}

Python之所以非常流行,离不开它千千万万的第三方库,安装第三方库的话,推荐使用pip;

hello, world.

常见情况下,Python代码可以通过两种形式运行:
一是直接在刚才解释环境下一行一行的执行,
或者也可以保存到一个.py的文件中,在终端输入python 文件名来执行。比如新建一个idoTest.py,文件内容为print ‘hello, world.’,在终端输入python test.py,即可输出hello, world.。

注意⚠️:Python中没有使用花括号{}来表示代码间的层级关系而是使用缩进,这样的好处是在语法层面上限制了不好的代码风格,但是初学者容易混淆。

变量、基础数据类型

变量

Python中变量不需要声明,你可以通过直接赋值的方式使用变量:

a = 1
b = True
c = 1.0
a = 3+2j

在Python中,你可以在给一个变量赋值为一种类型之后重新为其赋值为新的类型(如上面代码第1、4行)。

基础数据类型

Python中的数字有:整型、长整型、浮点型、布尔型、复数。

整形:int,常见的整数(正数/负数/0),通过sys.maxint即可查看当前平台上最大的整型的值。
长整型:long,比整型最大的值还大或者比整型最小的值还小的整数。注意:Python中长整型没有大小限制,你的内存有多大,它就能表示多大。
浮点型:float,即小数。
布尔型:bool,常见形式为True, False,表示逻辑真和逻辑假,其实背后的实现是数字1和0.
复数:complex,Python是为数不多语法层面上支持复数的语言,表现为形如1+2j的形式。可以直接支持两个复数的运算。

Python中的所有数据类型都是对象。你可以通过type()函数查看一个变量的类型。
Python中字符串有4种表现形式:单引号、双引号、三引号:

string1 = ‘this is a str’
string2 = “this is a str”
string3 = ”’this is a str
这里还是string3的范围”’
string4 = “”“this is a str”“”

其中,第3/4种字符串表现形式都是三引号引起来的,Python中没有C-Like语言中的字符类型。

运算符、控制语句

运算符

在Python中,数字是一种不可变类型,对数字的操作都会产生新的对象而不是修改原来的对象。但是i = i + 1一样可以写为i += 1。
注意:Python2.5以后的除法为地板除,即5/2=2而不是5/2 = 2.5。

Python常见的逻辑运算符为:
!=, <>:不等于,表示两边的值不相等,推荐使用前一种。1 != 2。
==:等于,表示两边的值相等。2 == 2。
and:逻辑与,如果两边的值都为True则整个值为True,反之为False。1==1 and 2==2。
or:逻辑或,如果两边有一个值True则整个值为True,反之为False。1==2 or 2==2。
not:逻辑非,如果值为True,则结果为False。not 2==1。

控制语句

条件语句:
Python中的条件语句只有if-elif-else,没有switch-case,但是有经验的开发者通常使用map这一结构来达到比switch-case更加优雅,更加Pythonic的实现,这个后续再说。

if 条件1:
语句块1
elif 条件2:
语句块2
else:
语句块3

elif类似于其它语言中的else if。

循环语句:
Python中有两种方式表达循环语句:

while 循环:

while 条件:
语句块

for循环:

for 变量 in 集合:
语句块

值得注意的是Python中没有C-Like语言里的for(int i=0; i<10; i++)的语法,不过可以使用xrange或者range函数实现同样的效果。前一个函数返回一个生成器,后一个函数返回list,一般推荐使用前一个,至于这两个函数的异同,后面有时间细聊。

集合

Python中常见的集合类型有:list,tuple,set,dict。

list

list表达的是一列数据的集合,列表中的元素可以增加、删除、查找等操作:

In [1]: l = [‘this’, ‘is’, ‘a’, ‘list’] # 初始化一个list

In [2]: type(l)
Out[2]: list

In [3]: l.index(‘is’) # 查找元素
Out[3]: 1

In [4]: l.append(‘new item’) # 新增元素

In [5]: l
Out[5]: [‘this’, ‘is’, ‘a’, ‘list’, ‘new item’]

In [6]: l.reverse() # 反转列表

In [7]: l
Out[7]: [‘new item’, ‘list’, ‘a’, ‘is’, ‘this’]

In [8]: l.remove(‘is’) # 删除元素

In [9]: l
Out[9]: [‘new item’, ‘list’, ‘a’, ‘this’]

tuple

tuple类似于list,同样表示一组数据的集合,不同的是,tuple是写保护的,即:tuple不可以对其元素做任何修改操作(新增、删除等):

In [1]: t = (1,2,3) # 初始化

In [2]: t
Out[2]: (1, 2, 3)

In [3]: type(t)
Out[3]: tuple

set

set表示一个不重复元素的集合,值得注意的是:set是无序的。

In [1]: s = {‘this’, ‘is’, ‘a’, ‘a’, ‘set’} # 初始化

In [2]: s
Out[2]: {‘a’, ‘is’, ‘set’, ‘this’}

In [3]: type(s)
Out[3]: set

In [4]: s.add(‘new item’) # 新增元素

In [5]: s
Out[5]: {‘a’, ‘is’, ‘new item’, ‘set’, ‘this’}

In [6]: s.remove(‘a’) # 删除元素

In [7]: s
Out[7]: {‘is’, ‘new item’, ‘set’, ‘this’}

dict

dict表示一组数据的对应关系,与set一样,dict是无序的(你可以通过collections中的OrderDict来达到有序)。同时,对于初学者,dict与set的声明方式容易混淆:

In [1]: d = {‘a’: ‘A’, ‘b’: ‘B’} # 初始化

In [2]: d
Out[2]: {‘a’: ‘A’, ‘b’: ‘B’}

In [3]: d[‘a’]
Out[3]: ‘A’

In [4]: d[‘c’] = ‘C’ # 新增元素

In [5]: d
Out[5]: {‘a’: ‘A’, ‘b’: ‘B’, ‘c’: ‘C’}

In [6]: del d[‘a’] # 删除元素

In [7]: d
Out[7]: {‘b’: ‘B’, ‘c’: ‘C’}

函数(初步)

在Python中声明函数的方式如下:

def add(num1, num2):
return num1 + num2

通其它语言一样,你可以在函数中通过return返回值。不同的是,Python中函数可以有多个返回值,比如下面的函数,返回了两个数的和以及差:

def calc(n1, n2):
return n1 + n2, n1 * n2

add, sub = calc(5, 1)
print add, sub # 6 4

其实这里并不是真的返回了两个值,而是将返回值组装成一个tuple再返回。

相关链接:http://bbs.ichunqiu.com/thread-8364-1-1.html?from=csdnJG

评论