《简明python教程 》总结(二)-- 字符串、对象、控制流
字符串字符串是 字符的序列 。字符串基本上就是一组单词。单引号(')、双引号(") 、三引号('''或""") 、转义符(\)● 单引号(') 与 双引号(") 作用相同● 三引号('''或""") 利用三引号,可以指示一个多行的字符串。你可以在三引号中自由的使用单引号和双引号。例如:'''This is a multi-line string. This is the first line.This is the second line."What's your name?," I asked.He said "Bond, James Bond."'''● 转义符 1. 用\'来指示单引号——注意这个反斜杠。现在你可以把字符串表示为'What\'s your name?'。2. 在一个字符串中,行末的单独一个反斜杠表示字符串在下一行继续,而不是开始一个新的行。例如:"This is the first sentence.\This is the second sentence." 等价于"This is the first sentence. This is the second sentence." ● 自然字符串 如果你想要指示某些不需要如转义符那样的特别处理的字符串,那么你需要指定一个自然字符串。自然字符串通过给字符串加上前缀r或R来指定。例如r"Newlines are indicated by \n"。常用:一定要用自然字符串处理正则表达式。否则会需要使用很多的反斜杠。例如,后向引用符可以写成'\\1'或r'\1' ● Unicode字符串 Python允许处理Unicode文本——只需要在字符串前加上前缀u或U。例如,u"This is a Unicode string."。(以unicode编码方式 处理字符串)记住,在你处理文本文件的时候使用Unicode字符串,特别是当你知道这个文件含有用非英语的语言写的文本。 对象Python把在程序中用到的任何东西都称为 对象 。就每一个东西包括数、字符串甚至函数都是对象这一点来说,Python是极其完全地面向对象的。 变量使用变量时只需要给它们赋一个值。不需要声明或定义数据类型 示例:# Filename : var.py
i = 5
print i
i = i + 1
print i
s = '''This is a multi-line string.
This is the second line.'''
print s 逻辑行与物理行物理行是在编写程序时所 看见 的。逻辑行是Python 看见 的单个语句。Python假定每个 物理行 对应一个 逻辑行 。 i = 5print i为两个 物理行 与 两个 逻辑行 i = 5; print i 为一个物理行 与两个逻辑行 s = 'this is a\good day'为 两个物理行与一个逻辑行 缩进空白在Python中是重要的。事实上行首的空白是重要的。它称为缩进。在逻辑行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句的分组。建议:每个层次用 单个 制表符 来控制 运算符运算符名称说明例子+加两个对象相加3 + 5得到8。'a' + 'b'得到'ab'。*乘两个数相乘或是返回一个被重复若干次的字符串2 * 3得到6。'la' * 3得到'lalala'。**幂返回x的y次幂3 ** 4得到81(即3 * 3 * 3 * 3)//取整除返回商的整数部分4 // 3.0得到1.0%取模返回除法的余数8%3得到2。-25.5%2.25得到1.5~按位反转x的按位翻转是-(x+1)~5得到-6。 输出示例
#!/usr/bin/python
# Filename: expression.py
length = 5
breadth = 2
area = length * breadth
print 'Area is', area
print 'Perimeter is', 2 * (length + breadth)输出:Area is 10Perimeter is 14 分析:尽管我们没有在'Area is'和变量area之间指定空格,Python自动在那里放了一个空格,这样我们就可以得到一个清晰漂亮的输出,而程序也变得更加易读(因为我们不需要担心输出之间的空格问题)。 控制流if --elif--else示例#!/usr/bin/env python
#filename if.py
number = 23
guess = int(raw_input('enter the number:'))
print guess
if guess == number:
print 'ok'
elif guess == 13:
print 'equil 13'
else:
print 'fail'分析: 对C/C++成员的提醒 if--elif--else 后需带 :raw_input 作用:
raw_input函数提供一个字符串,这个字符串被打印在屏幕上,然后等待用户的输入。一旦我们输入一些东西,然后按回车键之后,函数返回输入。对于raw_input函数来说是返回一个字符串。我们通过int把这个字符串转换为整数,并把它存储在变量guess中。(假设这个字符串含有一个有效的整数文本信息) for 循环for i in range(1,5)等价于for i in [1, 2, 3, 4] 包含1,不包含5同C/C++ for(int i = 1; i < 5; i++ )for i in rang(1,5,2) 等价 for i in [1,3] 例for i in range(1,5):
print i结果:1234 while..break..continue#!/usr/bin/python
# Filename: continue.py
while True:
s = raw_input('Enter something : ')
if s == 'quit':
break
if len(s) < 3:
continue
print 'Input is of sufficient length'
# Do other kinds of processing here...len(str)作用: 返回 字符串str的长度 目标:认识 raw_input() , rang(), len()等函数, while..break..continue ,if ..elif..else, for 等控制流语句