- 用
exit()
退出Python - 命令行中先进入文件所在的目录,然后利用
python example.py
就可以运行文件了 print
语句也可以跟上多个字符串,用逗号“,”隔开,就可以连成一串输出。print
会依次打印每个字符串,遇到逗号“,”会输出一个空格- Python提供了一个
raw_input
,可以让用户输入字符串,并存放到一个变量里。比如输入用户的名字:
>>> name = raw_input()
Michael
可以直接输入name查看变量内容;要打印出name变量的内容,除了直接写name然后按回车外,还可以用print语句
raw_input
可以让你显示一个字符串来提示用户
name = raw_input('please enter your name: ')
print 'hello,', name
- 变量本身类型不固定的语言称之为动态语言(比如python),与之对应的是静态语言。静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错(例如Java是静态语言)。
- 理解变量在计算机内存中的表示也非常重要。当我们写:
a = 'ABC'
时,Python解释器干了两件事情:
1.在内存中创建了一个'ABC'
的字符串;
2.在内存中创建了一个名为a的变量,并把它指向'ABC'
。
也可以把一个变量a
赋值给另一个变量b
,这个操作实际上是把变量b
指向变量a
所指向的数据,例如下面的代码:
a = 'ABC'
b = a
a = 'XYZ'
print b
最后一行打印出变量b
的内容到底是'ABC'
呢还是'XYZ'
?如果从数学意义上理解,就会错误地得出b
和a
相同,也应该是'XYZ'
,但实际上b
的值是'ABC'
,让我们一行一行地执行代码,就可以看到到底发生了什么事:
1.执行a = 'ABC'
,解释器创建了字符串'ABC'
和变量a
,并把a
指向'ABC'
2.执行b = a
,解释器创建了变量b
,并把b
指向a
指向的字符串'ABC'
3.执行a = 'XYZ'
,解释器创建了字符串'XYZ'
,并把a
的指向改为'XYZ'
,但b
并没有更改
4.所以,最后打印变量b
的结果自然是'ABC'
了
- 整数除法永远是整数,即使除不尽。要做精确的除法,只需把其中一个整数换成浮点数做除法就可以
- 在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。
- Python提供了ord()和chr()函数,可以把字母和对应的数字相互转换:
>>> ord('A')
65
>>> chr(65)
'A'
- Python在后来添加了对Unicode的支持,以Unicode表示的字符串用u’…’表示,比如:
>>> print u'中文'
中文
>>> u'中'
u'\u4e2d'
- 由于Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
第一行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释;
第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。
- 在Python中,采用的格式化方式和C语言是一致的,用
%
实现,举例如下:
>>> 'Hello, %s' % 'world'
'Hello, world'
>>> 'Hi, %s, you have $%d.' % ('Michael', 1000000)
'Hi, Michael, you have $1000000.'
%
运算符就是用来格式化字符串的。在字符串内部,%s
表示用字符串替换,%d
表示用整数替换,有几个%?
占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?
,括号可以省略。
字符串里面的
%
是一个普通字符怎么办?这个时候就需要转义,用%%
来表示一个%
Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。
>>> classmates = ['Michael', 'Bob', 'Tracy']
>>> classmates
['Michael', 'Bob', 'Tracy']
变量classmates就是一个list。用len()函数可以获得list元素的个数:
>>> len(classmates)
3
用索引来访问list中每一个位置的元素,记得索引是从0
开始的:
>>> classmates[0]
'Michael'
>>> classmates[1]
'Bob'
>>> classmates[2]
'Tracy'
>>> classmates[3]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
当索引超出了范围时,Python会报一个IndexError错误,所以,要确保索引不要越界,记得最后一个元素的索引是len(classmates) - 1
。
如果要取最后一个元素,除了计算索引位置外,还可以用-1做索引,直接获取最后一个元素,以此类推,可以获取倒数第2个、倒数第3个。
list是一个可变的有序表,所以,可以往list中追加元素到末尾:
>>> classmates.append('Adam')
>>> classmates
['Michael', 'Bob', 'Tracy', 'Adam']
也可以把元素插入到指定的位置,比如索引号为1的位置:
>>> classmates.insert(1, 'Jack')
>>> classmates
['Michael', 'Jack', 'Bob', 'Tracy', 'Adam']
要删除list末尾的元素,用pop()方法:
>>> classmates.pop()
'Adam'
>>> classmates
['Michael', 'Jack', 'Bob', 'Tracy']
要删除指定位置的元素,用pop(i)方法,其中i是索引位置:
>>> classmates.pop(1)
'Jack'
>>> classmates
['Michael', 'Bob', 'Tracy']
要把某个元素替换成别的元素,可以直接赋值给对应的索引位置:
>>> classmates[1] = 'Sarah'
>>> classmates
['Michael', 'Sarah', 'Tracy']