全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件
1255 1
2015-07-27
6、字符串

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.

7、流程控制

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

8、函数

函数通过“def”关键字进行声明。可选参数以集合的方式出现在函数声明中并紧跟着必选参数,可选参数可以在函数声明中被赋予一个默认值。已命名的参数需要赋值。函数可以返回一个元组(使用元组拆包可以有效返回多个值)。Lambda函数是由一个单独的语句组成的特殊函数,参数通过引用进行传递,但对于不可变类型(例如元组,整数,字符串等)则不能够被改变。这是因为只传递了该变量的内存地址,并且只有丢弃了旧的对象后,变量才能绑定一个对象,所以不可变类型是被替换而不是改变(译者注:虽然Python传递的参数形式本质上是引用传递,但是会产生值传递的效果)。例如:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

# 作用等同于 def funcvar(x): return x + 1

funcvar = lambda x: x + 1

>>> print funcvar(1)

2


# an_int 和 a_string 是可选参数,它们有默认值

# 如果调用 passing_example 时只指定一个参数,那么 an_int 缺省为 2 ,a_string 缺省为 A default string。如果调用 passing_example 时指定了前面两个参数,a_string 仍缺省为 A default string。

# a_list 是必备参数,因为它没有指定缺省值。

def passing_example(a_list, an_int=2, a_string="A default string"):

a_list.append("A new item")

an_int = 4

return a_list, an_int, a_string


>>> my_list = [1, 2, 3]

>>> my_int = 10

>>> print passing_example(my_list, my_int)

([1, 2, 3, 'A new item'], 4, "A default string")

>>> my_list

[1, 2, 3, 'A new item']

>>> my_int

10




二维码

扫码加我 拉你入群

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

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

全部回复
2015-7-27 17:56:23
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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