Python中raw字符串与多行字符串
在字符串前面加个前缀 r ,表示这是一个 raw 字符串,里面的字符就不需要转义了。例如:
r'\(~_~)/ \(~_~)/'
如果要表示多行字符串,可以用'''...'''表示:
'''Line 1
Line 2
Line 3'''
Line 2
Line 3'''
可以在多行字符串前面添加 r ,把这个多行字符串也变成一个raw字符串:
r'''Python is created by "Guido".
It is free and easy to learn.
Let's start learn Python in imooc!'''
It is free and easy to learn.
Let's start learn Python in imooc!'''
Python中Unicode字符串
转义:
u'中文\n日文\n韩文'
多行:
u'''第一行
第二行'''
第二行'''
raw+多行:
ur'''Python的Unicode字符串支持"中文",
"日文",
"韩文"等多种语言'''
"日文",
"韩文"等多种语言'''
如果中文字符串在Python环境下遇到 UnicodeDecodeError,这是因为.py文件保存的格式有问题。可以在第一行添加注释
# -*- coding: utf-8 -*-
目的是告诉Python解释器,用UTF-8编码读取源代码。然后用Notepad++ 另存为... 并选择UTF-8格式保存。
Python中布尔类型
Python的布尔运算也具有短路原则(and第一个值为False返回第一个值;or第一个值为True时返回第一个值,都不在运行第二个值)
Python创建list
list是数学意义上的有序集合,也就是说,list中的元素是按照顺序排列的。
构造list直接用 [ ] 把list的所有元素都括起来,就是一个list对象。通常,我们会把list赋值给一个变量,这样,就可以通过变量来引用list
由于Python是动态语言,所以list中包含的元素并不要求都必须是同一种数据类型,我们完全可以在list中包含各种数据:
>>> L = ['Michael', 100, True]
一个元素也没有的list,就是空list:
>>> empty_list = []
Python按照索引访问list
需要特别注意的是,索引从 0 开始,也就是说,第一个元素的索引是0,第二个元素的索引是1,以此类推。
类似C语言中数组的下标,IndexError意思就是索引超出了范围,所以,使用索引时,
千万注意不要越界。
Python之倒序访问list
可以用 -1 这个索引来表示最后一个元素:类似的,倒数第二用 -2 表示,倒数第三用 -3 表示,倒数第四用 -4 表示
使用倒序索引时,
也要注意不要越界。
与正序不同的是倒序是从-1开始计数,正序是从0开始计数
Python之添加新元素
①用 list 的 append() 方法,把新元素追加到 list 的末尾。append()总是把新的元素添加到 list 的尾部。
②用list的 insert()方法,它接受两个参数,第一个参数是索引号,第二个参数是待添加的新元素。当插入到list中某一位置后,他相应的后面的元素都会自动向后移一位。
Python从list删除元素
pop()方法总是删掉list的最后一个元素,并且它还返回这个元素;
当pop()里面含有参数时可以删除指定位置的元素。当然也存在倒序删除。
Python中替换元素
对list中的某一个索引赋值,就可以直接用新的元素替换掉原来的元素,list包含的元素个数保持不变。当然,也可以用倒叙的下标来替换。
Python之创建tuple
tuple是另一种有序的列表,中文翻译为“ 元组 ”。tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了。
创建tuple和创建list唯一不同之处是用( )替代了[ ]。
因为tuple一旦创建就无法改变,t所以uple没有 append()方法,也没有insert()和pop()方法。
但是获取元素的方法与list一样,只是不能更改元素
Python之创建单元素tuple
uple和list一样,可以包含 0 个、1个和任意多个元素。
包含多个元素的 tuple,前面我们已经创建过了。
包含 0 个元素的 tuple,也就是空tuple,直接用 ()表示:
创建包含1个元素的 tuple 时
>>> t = (1)
>>> print t
1
>>> print t
1
t 不是 tuple ,而是整数1。为什么呢?
因为()既可以表示tuple,又可以作为括号表示运算时的优先级,结果 (1) 被Python解释器计算出结果 1,导致我们得到的不是tuple,而是整数 1。
正是因为用()定义单元素的tuple有歧义,所以 Python 规定,单元素 tuple 要多加一个逗号“,”,这样就避免了歧义:
>>> t = (1,)
>>> print t
(1,)
>>> print t
(1,)
Python在打印单元素tuple时,也自动添加了一个“,”,为了更明确地告诉你这是一个tuple。
多元素 tuple 加不加这个额外的“,”效果是一样的:
>>> t = (1, 2, 3,)
>>> print t
(1, 2, 3)
>>> print t
(1, 2, 3)
Python之“可变”的tuple
当一个tuple中含有list时,可以对list中的元素进行相应的改变,但是这并不违背tuple的不能修改的性质。发生改变的只是list中的元素,但是list本身并未发生改变,所以tuple中的list仍未发生改变,即指向不变性。