Python学习笔记——String、Sequences

一、input()与raw_input()的区别

 

代码
1 >>> buck = input("Enter your name: ")
2 Enter your name: liu
3
4 Traceback (most recent call last):
5 File "<pyshell#1>", line 1, in <module>
6 buck = input("Enter your name: ")
7 File "<string>", line 1, in <module>
8 NameError: name 'liu' is not defined
9  >>> buck = raw_input('Enter your name: ')
10 Enter your name: liu

 

从上面的例子可以看到,raw_input()将输入看作字符串,而input则不是,input()根据输入来判断类型,当然如果你想输入字符串的话就必须在字符串钱加引号。

二、输出的问题

如果我们定义一个整数,然后要将其与字符串同时输出,如下所示

 

代码
>>> n = 20
>>> print('the num is '+20)

Traceback (most recent call last):
File
"<pyshell#16>", line 1, in <module>
print('the num is '+20)
TypeError: cannot concatenate
'str' and 'int' objects

 

可见不能直接用加号来表示,解决方法有三种:

第一种可以把n转化为字符串,用str()内建函数:

 

>>> n = str(n)
>>> print('the num is '+ n)
the num
is 20

 

第二种是加`符号,这个键是在esc键下面的那个,如:

 

>>> b = 20
>>> print('the num is '+ `b`)
the num
is 20

 

第三种是用占位符,这个类似C语言中的占位符,但要注意连接字符串与其他类型数据的是%而不是逗号

 

>>> print('the num is %d ' % b)
the num
is 20

 

三、Sequences,这个有点像数组,下面是它的定义与截取(Slicing)

 

代码
>>> example = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> example[:8]
[0,
1, 2, 3, 4, 5, 6, 7]
>>> example[-5:]
[
5, 6, 7, 8, 9]
>>> example[:]
[0,
1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> example[1:8:2]
[
1, 3, 5, 7]
>>> example[::-2]
[
9, 7, 5, 3, 1]

 

 

 

 

 

 

 

 

posted @ 2010-05-25 12:09  刘理想  阅读(414)  评论(0编辑  收藏  举报