您的位置:首页 > 编程语言 > Python开发

Python 编程学习 chapter 3 变量

2015-04-10 21:13 344 查看
1、变量的命名规则:不能以数值或大多数非字母的字符开头(如逗号、加减号、斜杠等),但下划线除外。下划线是合法的,甚至在某些情形下是有特殊含义的。

2、除了字符串和数值外,Python 还提供了其他四种数据类型:元组、列表、集合和字典。

3、元组——不可更改的数据序列。元组是值的序列,其中每个值都可以被单独访问,它们被圆括号包围。

>>> ff=("i", "am", "a" ,"teacher!")

>>> print("%s %s %s %s"%("i", "am", "a" ,"teacher!"))

i am a teacher!

>>> print(ff)

('i', 'am', 'a', 'teacher!')

>>> print(ff[1])

am

>>> print(ff[0])

i

>>> print(len(ff))

4

>>> print(ff[len(ff)])
Traceback (most recent call last):
  File "<pyshell#6>", line 1, in <module>

    print(ff[len(ff)])

IndexError: tuple index out of range

>>> print(ff[len(ff)-1])

teacher!

>>> gg=(ff,"has 4 letters.")
>>> print(gg)
(('i', 'am', 'a', 'teacher!'), 'has 4 letters.')
>>> print(gg[0])
('i', 'am', 'a', 'teacher!')
>>> print(gg[0][0])
i
>>> print(gg[0][1])
am
>>> print(gg[1])
has 4 letters.

4、元组可以包含各种数据类型,一旦创建是不能改变的,那些看起来改变它们的操作实际上是重新创建了一个元组,字符串也是同样的道理。“不可改变”可理解为元组的元素不可改变!
>>> gg[0][0]="you"

Traceback (most recent call last):
  File "<pyshell#14>", line 1, in <module>
    gg[0][0]="you"
TypeError: 'tuple' object does not support item assignment

5、列表——可以更改的数据序列。被[ ]包围,列表元素的引用类似元组,但列表的元素可以被更改。

>>> breakfast=["coffee","tea","egg"]

>>> breakfast[1]

'tea'

>>> breakfast[1]="toast"

>>> breakfast[1]

'toast'

6、列表不仅可以修改元素的值,也可以向列表末尾添加元素。

>>> breakfast.append("waffles")

>>> breakfast

['coffee', 'toast', 'egg', 'waffles']

>>> breakfast.extend(ff)

>>> breakfast

['coffee', 'toast', 'egg', 'waffles', 'i', 'am', 'a', 'teacher!']

>>> breakfast.extend(["juice","decaf"])

>>> print(breakfast)

['coffee', 'toast', 'egg', 'waffles', 'i', 'am', 'a', 'teacher!', 'juice', 'decaf']

7、字典与元组、列表类似,也是包含一组数据的的容器。元组和列表以数字顺序为索引,字典却用选择的名词为索引。这些名称可以是字母、数字、字符串、符号。字典元素可以更改。

>>> menus_specials={}

>>> menus_specials["breakfast"]="bbbbbbbbbbbbb"

>>> menus_specials["lunch"]="lllllllllllll"

>>> menus_specials["dinner"]="ddddddddd"

>>> menus_specials

{'lunch': 'lllllllllllll', 'breakfast': 'bbbbbbbbbbbbb', 'dinner': 'ddddddddd'}

>>> menus_specials={}

>>> menus_specials

{}

>>> menus_specials={"breakfast":"bbbbbbbb","lunch":"llllllllll","dinner":"dddddddddd"}

>>> menus_specials

{'lunch': 'llllllllll', 'breakfast': 'bbbbbbbb', 'dinner': 'dddddddddd'}

>>> print(menus_specials["breakfast"])

bbbbbbbb

>>> print(menus_specials["lunch"])

llllllllll

>>> print(menus_specials["dinner"])

dddddddddd

>>> print(menus_specials["abcd"])

Traceback (most recent call last):

  File "<pyshell#37>", line 1, in <module>

    print(menus_specials["abcd"])

KeyError: 'abcd'

8、获取键和值

>>> hungry=menus_specials.keys()

>>> print(list(hungry))

['lunch', 'breakfast', 'dinner']

>>> hungry[1]

'breakfast'

>>> st=menus_specials.values()
>>> print(list(st))
['llllllllll', 'bbbbbbbb', 'qwertyuio']
>>> st[2]
'dddddddddd'

menus_specials.get("lunch")

'llllllllll'

9、字符串分片

>>> strin=["qwerty","zxcvbn","asdfgh"]

>>> strin[0]

'qwerty'

>>> strin[0][0]

'q'

>>> strin=("qwerty","zxcvbn","asdfgh")

>>> strin[0]
'qwerty'
>>> strin[0]
'qwerty'
>>> strin[0][0]
'q'

10、元组、列表是两种类型的序列,即它们的元素都是有顺序的。

11、反序输出序列(元组和列表)的元素

>>> print(strin[-1])

asdfgh

>>> print(strin[-2])

zxcvbn

>>> print(strin[-3])

qwerty    

下标为-1的元素指向最后一个元素。

12、将序列分片

>>> slice_me[5:9]

('drinks', 'are', 'on', 'me')

>>> slice_string="i am a teacher"

>>> slice_string[5:9]

'a te'   

13、通过pop()方法移除列表中的数据

>>> apert

['sdaf', 'wqrewr', 'sdaf', 'wqrewr', 'The', 'next', 'time', 'we', 'meet', 'drinks', 'are', 'on', 'me']

>>> apert.pop(0)

'sdaf'

>>> apert

['wqrewr', 'sdaf', 'wqrewr', 'The', 'next', 'time', 'we', 'meet', 'drinks', 'are', 'on', 'me']

>>> apert.pop()

'me'

>>> apert

['wqrewr', 'sdaf', 'wqrewr', 'The', 'next', 'time', 'we', 'meet', 'drinks', 'are', 'on']    

pop()方法未指定参数,则为移除最后一个元素。

14、集合与字典类似,只是它仅包含键,不包含与键相互关联的值。本质上,集合是不包含重复元素的数据集。从数据集删除重复元素时,集合非常有用。有两种类型的集合:可变集合和不可变集合。可变集合能进行元素的增、删、改;不可变集合从最初的赋值后就不能被改变。

>>> alp=['q','d','t','t','q']

>>> print(alp)

['q', 'd', 't', 't', 'q']

>>> set(alp)

set(['q', 'd', 't'])
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: