全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 python论坛
1856 4
2014-09-04
摘自:程序员的那些事。  总之,入门的朋友看看有好处~~~
——————————————————————————————————————————————————
  • 初试牛刀

      假设你希望学习Python这门语言,却苦于找不到一个简短而全面的入门教程。那么本教程将花费十分钟的时间带你走入Python的大门。本文的内容介于教程(Toturial)和速查手册(CheatSheet)之间,因此只会包含一些基本概念。很显然,如果你希望真正学好一门语言,你还是需要亲自动手实践的。在此,我会假定你已经有了一定的编程基础,因此我会跳过大部分非Python语言的相关内容。本文将高亮显示重要的关键字,以便你可以很容易看到它们。另外需要注意的是,由于本教程篇幅有限,有很多内容我会直接使用代码来说明加以少许注释。


  • Python的语言特性

      Python是一门具有强类型(即变量类型是强制要求的)、动态性、隐式类型(不需要做变量声明)、大小写敏感(var和VAR代表了不同的变量)以及面向对象(一切皆为对象)等特点的编程语言。


  • 获取帮助

      你可以很容易的通过Python解释器获取帮助。如果你想知道一个对象(object)是如何工作的,那么你所需要做的就是调用help(<object>)!另外还有一些有用的方法,dir()会显示该对象的所有方法,还有<object>.__doc__会显示其文档:


1

2

3

4

5

6

7

8

9

10

11


>>> help(5)

Help on int object:

(etc etc)

>>> dir(5)

['__abs__', '__add__', ...]

>>> abs.__doc__

'abs(number) -> number

Return the absolute value of the argument.'



  • 语法

       Python中没有强制的语句终止字符,且代码块是通过缩进来指示的。缩进表示一个代码块的开始,逆缩进则表示一个代码块的结束。声明以冒号(:)字符结束,并且开启一个缩进级别。单行注释以井号字符(#)开头,多行注释则以多行字符串的形式出现。赋值(事实上是将对象绑定到名字)通过等号(“=”)实现,双等号(“==”)用于相等判断,”+=”和”-=”用于增加/减少运算(由符号右边的值确定增加/减少的值)。这适用于许多数据类型,包括字符串。你也可以在一行上使用多个变量。例如:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18


>>> myvar = 3

>>> myvar += 2

>>> myvar

5

>>> myvar -= 1

>>> myvar

4

"""This is a multiline comment.

The following lines concatenate the two strings."""

>>> mystring = "Hello"

>>> mystring += " world."

>>> print mystring

Hello world.

# This swaps the variables in one line(!).

# It doesn't violate strong typing because values aren't

# actually being assigned, but new objects are bound to

# the old names.

>>> myvar, mystring = mystring, myvar



  • 数据类型

      Python具有列表(list)、元组(tuple)和字典(dictionaries)三种基本的数据结构,而集合(sets)则包含在集合库中(但从Python2.5版本开始正式成为Python内建类型)。列表的特点跟一维数组类似(当然你也可以创建类似多维数组的“列表的列表”),字典则是具有关联关系的数组(通常也叫做哈希表),而元组则是不可变的一维数组(Python中“数组”可以包含任何类型的元素,这样你就可以使用混合元素,例如整数、字符串或是嵌套包含列表、字典或元组)。数组中第一个元素索引值(下标)为0,使用负数索引值能够从后向前访问数组元素,-1表示最后一个元素。数组元素还能指向函数。来看下面的用法:


1

2

3

4

5

6

7

8

9

10


>>> sample = [1, ["another", "list"], ("a", "tuple")]

>>> mylist = ["List item 1", 2, 3.14]

>>> mylist[0] = "List item 1 again" # We're changing the item.

>>> mylist[-1] = 3.21 # Here, we refer to the last item.

>>> mydict = {"Key 1": "Value 1", 2: 3, "pi": 3.14}

>>> mydict["pi"] = 3.15 # This is how you change dictionary values.

>>> mytuple = (1, 2, 3)

>>> myfunction = len

>>> print myfunction(mylist)

3



      你可以使用:运算符访问数组中的某一段,如果:左边为空则表示从第一个元素开始,同理:右边为空则表示到最后一个元素结束。负数索引则表示从后向前数的位置(-1是最后一个项目),例如:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15


>>> mylist = ["List item 1", 2, 3.14]

>>> print mylist[:]

['List item 1', 2, 3.1400000000000001]

>>> print mylist[0:2]

['List item 1', 2]

>>> print mylist[-3:-1]

['List item 1', 2]

>>> print mylist[1:]

[2, 3.14]

# Adding a third parameter, "step" will have Python step in

# N item increments, rather than 1.

# E.g., this will return the first item, then go to the third and

# return that (so, items 0 and 2 in 0-indexing).

>>> print mylist[::2]

['List item 1', 3.14]



  • 字符串

      Python中的字符串使用单引号(‘)或是双引号(“)来进行标示,并且你还能够在通过某一种标示的字符串中使用另外一种标示符(例如 “He said ‘hello’.”)。而多行字符串可以通过三个连续的单引号(”’)或是双引号(“”")来进行标示。Python可以通过u”This is a unicode string”这样的语法使用Unicode字符串。如果想通过变量来填充字符串,那么可以使用取模运算符(%)和一个元组。使用方式是在目标字符串中从左至右使用%s来指代变量的位置,或者使用字典来代替,示例如下:


1

2

3

4

5

6

7

8

9

10

11

12

13

14


>>>print "Name: %s\

Number: %s\

String: %s" % (myclass.name, 3, 3 * "-")

Name: Poromenos

Number: 3

String: ---

strString = """This is

a multiline

string."""

# WARNING: Watch out for the trailing s in "%(key)s".

>>> print "This %(verb)s a %(noun)s." % {"noun": "test", "verb": "is"}

This is a test.



  • 流程控制

       Python中可以使用if、for和while来实现流程控制。Python中并没有select,取而代之使用if来实现。使用for来枚举列表中的元素。如果希望生成一个由数字组成的列表,则可以使用range(<number>)函数。以下是这些声明的语法示例:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29


rangelist = range(10)

>>> print rangelist

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

for number in rangelist:

    # Check if number is one of

    # the numbers in the tuple.

    if number in (3, 4, 7, 9):

        # "Break" terminates a for without

        # executing the "else" clause.

        break

    else:

        # "Continue" starts the next iteration

        # of the loop. It's rather useless here,

        # as it's the last statement of the loop.

        continue

else:

    # The "else" clause is optional and is

    # executed only if the loop didn't "break".

    pass # Do nothing

if rangelist[1] == 2:

    print "The second item (lists are 0-based) is 2"

elif rangelist[1] == 3:

    print "The second item (lists are 0-based) is 3"

else:

    print "Dunno"

while rangelist[1] == 1:

    pass



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-9-5 01:26:09
ding
kankan
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-9-5 07:49:54
狂热的爱好者 发表于 2014-9-4 22:44
摘自:程序员的那些事。  总之,入门的朋友看看有好处~~~
——————————————————————— ...
赞!学一个新东西,入门才是最重要也是最难的。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-9-5 14:08:37
莱伊卡 发表于 2014-9-5 07:49
赞!学一个新东西,入门才是最重要也是最难的。
加油
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-9-6 15:01:51
顶个!!!!!!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群