>>>
range
(
1
,
5
)
#代表从1到5(不包含5)
[
1
,
2
,
3
,
4
]
>>>
range
(
1
,
5
,
2
)
#代表从1到5,间隔2(不包含5)
[
1
,
3
]
>>>
range
(
5
)
#代表从0到5(不包含5)
[
0
,
1
,
2
,
3
,
4
]
|
再看看list的操作:
array
=
[
1
,
2
,
5
,
3
,
6
,
8
,
4
]
#其实这里的顺序标识是
[
1
,
2
,
5
,
3
,
6
,
8
,
4
]
(
0
,
1
,
2
,
3
,
4
,
5
,
6
)
(
-
7
,
-
6
,
-
5
,
-
4
,
-
3
,
-
2
,
-
1
)
>>> array[
0
:]
#列出0以后的
[
1
,
2
,
5
,
3
,
6
,
8
,
4
]
>>> array[
1
:]
#列出1以后的
[
2
,
5
,
3
,
6
,
8
,
4
]
>>> array[:
-
1
]
#列出-1之前的
[
1
,
2
,
5
,
3
,
6
,
8
]
>>> array[
3
:
-
3
]
#列出3到-3之间的
[
3
]
|
2、python中input()和raw_input()的区别
raw_input() 与 input() __ Python
使用input和raw_input都可以读取控制台的输入
input()只能接受int,float或由它们组成的表达式
>>> input("input something: ") input something: 123 123 >>> input("input something: ") input something: abc Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<string>", line 1, in <module> NameError: name 'abc' is not defined
input和raw_input在处理数字时是有区别的:
1).输入为纯数字时
input返回的是数值类型,如int,float
raw_inpout返回的是字符串类型,string类型
2).输入字符串为表达式
input会计算在字符串中的数字表达式,而raw_input不会。
============================================================================================
Python 3.3 中 input() 返回值类型是什么?
>>> xx=input("请输入x的值:") 请输入x的值:999 >>> yy=input("请输入yy的值:") 请输入yy的值:111 >>> xx+yy '999111' 这个在python2.7里面相加是1100,为什么到3.32里面就成这个了?
python3里面input默认接收到的事str类型,所以你输入的就是字符串999 和字符串111
而字符串+字符串的结果就是999111了
而python2里面却认为是int类型,所以相加才会是1100
你可以用type()看下是什么类型的就知道了
PS:如果你想得到int的话、可以用xx=int(input())这样就行了
例子:
xx=input("请输入x的值:") yy=input("请输入yy的值:") print(xx+yy) aa = xx+yy print(type(aa)) xx=int(input("请输入x的值:")) yy=int(input("请输入yy的值:")) print(xx+yy) aa = xx+yy print(type(aa))
3、Python中用format函数格式化字符串的用法
str.format()
通过位置
'{0},{1}'.format('kzc',18) 'kzc,18' '{},{}'.format('kzc',18) 'kzc,18' '{1},{0},{1}'.format('kzc',18) '18,kzc,18'
字符串的format函数可以接受不限个参数,位置可以不按顺序,可以不用或者用多次
通过关键字参数
'{name},{age}'.format(age=18,name='kzc') 'kzc,18'
通过对象属性
class Person: def __init__(self,name,age): self.name,self.age = name,age def __str__(self): return 'This guy is {self.name},is {self.age} old'.format(self=self) str(Person('kzc',18)) 'This guy is kzc,is 18 old'
通过下标
p=['kzc',18] '{0[0]},{0[1]}'.format(p) 'kzc,18'
4、join()
用于将序列中的元素以指定的字符连接生成一个新的字符串。
str = "-";
seq = ("a", "b", "c"); # 字符串序列
print str.join( seq );
结果如下:
a-b-c
5、strip()
声明:s为字符串,rm为要删除的字符序列
s.strip(rm) 删除s字符串中开头、结尾处,位于 rm删除序列的字符
s.lstrip(rm) 删除s字符串中开头处,位于 rm删除序列的字符
s.rstrip(rm) 删除s字符串中结尾处,位于 rm删除序列的字符
1. 当rm为空时,默认删除空白符(包括'\n', '\r', '\t', ' ')
>>> a = ' 123'
>>> a.strip()
'123'
>>> a='\t\tabc'
'abc'
>>> a = 'sdff\r\n'
>>> a.strip()
'sdff'
2.这里的rm删除序列是只要边(开头或结尾)上的字符在删除序列内,就删除掉。
>>> a = '123abc'
>>> a.strip('21')
'3abc' 结果是一样的
>>> a.strip('12')
'3abc'
6、readline()和readlines()
.readlines() 一次读取整个文件,象read()一样。readlines() 自动将文件内容分析成一个行的列表,该列表可以由 Python 的 for ... in ... 结构进行处理。
.readline() 每次只读取一行,通常比 .readlines() 慢得多。仅当没有足够内存可以一次读取整个文件时,才应该使用readline()
file = open(filename,'r') done = 0 while not done: aLine = file.readline() if(aLine != ''): print aLine, else: done = 1 file.close() fh = open('c:\autoexec.bat') for line in fh.readlines(): print line
readlines时删除每行后面的换行:
line = line.strip('\n')