\n表示换行 \t表示制表符 \表示\
>>> print('I\'m \"ok\"!')
I'm "ok"!
>>> print('I\'m learning\nPython!')
I'm learning
Python!
>>> print('\\\n\\')
\
\
>>> print('\\\t\\')
\ \
>>> print(r'\\\t\\')
\\\t\\ #r''表示''内部的字符串默认不转义
'''...'''可表示多行内容,避免使用多个换行符
在交互式命令行内输入
>>> print('''line1
... line2
... line3''')
line1
line2
line3
在文本编辑器内输入
print('''line1
line2
line3''')
r'''...'''表示'''...'''内部字符串默认不转义
>>> print(r'''hello,\n
... world''')
hello,\n
world
r'''...'''表示'''...'''内部字符串默认不转义
>>> print(r'''hello,\n
... world''')
hello,\n
world
- 布尔运算符
and
or
not
- 空值
用None表示,不能理解为0 - 变量
变量名必须是大小写英文字母、数字、下划线的组合,且不能以数字开头
变量可以是整数、字符串、布尔运算符等 - 常量
Python中习惯用全部大写的变量名表示常量
Python中有两种除法,一种是/
,结果为浮点数;另一种是//
,结果只取整数部分 - 输出格式化字符串
>>> 'Hello,%s'%'world'
'Hello,world'
>>> 'Hi,%s,you have $%d.'%('Cloris',1000)
'Hi,Cloris,you have $1000.'
格式化整数和浮点数还可以指定是否补0和整数与小数的位数
>>> print('%2d-%02d' % (3, 1))
3-01
>>> print('%.2f' % 3.1415926)
3.14
占位符 | 替换内容 |
---|---|
%d | 整数 |
%f | 浮点数 |
%s | 字符串 |
%x | 十六进制整数 |
- 使用list
1)如用list表示班级每一位同学,注意list是用方括号表示的
>>> classmates=['Michael','Bob','Tracy']
>>> classmates
['Michael', 'Bob', 'Tracy']
2)用len()
来获得list中元素的个数
>>> len(classmates)
3
3)访问list中的元素,注意索引是从0开始的,当索引超出了范围时,Python会报一个IndexError
错误
>>> classmates[0]
'Michael'
>>> classmates[2]
'Tracy'
>>> classmates[3]
Traceback (most recent call last):
File "", line 1, in
IndexError: list index out of range
4)若要访问最后一个元素
>>> classmates[-1]
'Tracy'
5)往list后面追加元素到末尾
>>> classmates.append('Adam')
>>> classmates
['Michael', 'Bob', 'Tracy', 'Adam']
6)把元素插入到指定位置
>>> classmates.insert(1,'Jack')
>>> classmates
['Michael', 'Jack', 'Bob', 'Tracy', 'Adam']
7)删除list末尾的元素
>>> classmates.pop()
'Adam'
>>> classmates
['Michael', 'Jack', 'Bob', 'Tracy']
8)删除指定位置的元素
>>> classmates.pop(1)
'Jack'
>>> classmates
['Michael', 'Bob', 'Tracy']
9)替换list中某个元素
>>> classmates[1]='Cloris'
>>> classmates
['Michael', 'Cloris', 'Tracy']
注:list中元素的数据类型可以不同,如
L=['Cloris',999,TRUE]
list中的元素也可以是另外一个list
s=['Python','Java',['asp','php'],'scheme']
10)访问元素php
>>> s[2][1]
'php'
11)创建一个空list
>>> L=[]
>>> len(L)
0
- 使用tuple
tuple也是一种有序列表,一旦初始化后就不可更改,它也没有append(),insert()这样的方法。其他获取元素的方法和list是一样的
>>> classmates=('Michael','Bob','Tracy')
>>> classmates[0]
'Michael'
>>> classmates[-1]
'Tracy'
因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。
1)定义一个空的tuple
>>> t=()
>>> t
()
只有1个元素的tuple定义时必须加一个逗号,
,来消除歧义:
>>> t=(1,)
>>> t
(1,)
2)一个可变的tuple
注:tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!
>>> t=('c','d',['A','B'])
>>> t[0]
'c'
>>> t[2][0]
'A'
>>> t[0]='a'
Traceback (most recent call last):
File "", line 1, in
TypeError: 'tuple' object does not support item assignment
>>> t[2][0]='X'
>>> t[2][0]
'X'
- 条件判断结构
注意记得加冒号:
if <条件判断1>:
<执行1>
elif <条件判断2>:
<执行2>
elif <条件判断3>:
<执行3>
else:
<执行4>
- input读取用户输入
一个有问题的条件判断
birth=input('birth:')
if birth<2000:
print('00前')
else:
print('00后')
问题出在哪里?
由于input()返回的数据类型是str,str不能直接和整数比较,因此需要将str转化为int型数据
正确的输入
birth=input('birth:')
birth=int(birth)
if birth<2000:
print('00前')
else:
print('00后')
- 循环结构
- for...in循环 (记得加冒号
:
)
依次把list或tuple中的每个元素迭代出来
例1:计算1到10所有整数之和
sum=0
for x in [1,2,3,4,5,6,7,8,9,10]:
sum=sum+x
print(sum)
range(5)
可以生成从0开始小于5的整数
list()函数可以生成一个list
>>> list(range(5))
[0, 1, 2, 3, 4]
例2:计算1到100所有整数之和
sum=0
for x in range(101):
sum=sum+x
print(sum)
- while循环(记得加冒号
:
)
例3:计算100以内所有奇数之和
sum=0
n=99
while n>0:
sum=sum+n
n=n-2
print(sum)
- break语句
提前结束循环
例4:从1输入到10,并在结尾加End
n=1
while n<100:
if n>10:
break
print(n)
n=n+1
print('End')
- continue语句
提前结束本轮循环,开始下一轮循环
例5:输出10以内的所有奇数
n=0
while n<10:
n=n+1
if n%2==0:
continue
print(n)
print('End')
有些时候,如果代码写得有问题,会让程序陷入“死循环”,也就是永远循环下去。这时可以用Ctrl+C退出程序,或者强制结束Python进程。
- 使用dict查找
dict使用键-值(key-value)存储,具有极快的查找速度。
用Python写一个dict:
>>> d={'Michael':95,'Bob':75,'Tracy':85}
>>> d['Bob']
75
dict的查找原理是根据key的值查找value的值
把数据放入dict的方法:
- 初始化时指定
- 通过key放入
>>> d['Cloris']=100
>>> d
{'Michael': 95, 'Bob': 75, 'Tracy': 85, 'Cloris': 100}
注:
多次对一个key放入value,后面的值会把前面的值冲掉
>>> d['Tracy']
65
>>> d['Tracy']=70
>>> d['Tracy']
70
如果key不存在,dict就会报错
判断key是否存在的方法:
- 通过
in
判断key是否存在
>>> 'Thomas'in d
False
- 通过dict提供的get()方法,如果key不存在,可以返回None(在Python的交互环境下什么也不返回),或者自己指定的value
>>> d.get('Thomas')
>>> d.get('Thomas',-1)
-1
用pop()删除一个key
>>> d.pop('Cloris')
100
>>> d
{'Michael': 95, 'Bob': 75, 'Tracy': 70}
正确使用dict非常重要,需要牢记的第一条就是dict的key必须是不可变对象
这是因为dict根据key来计算value的存储位置,如果每次计算相同的key得出的结果不同,那dict内部就完全混乱了。这个通过key计算位置的算法称为哈希算法(Hash)。
要保证hash的正确性,作为key的对象就不能变。在Python中,字符串、整数等都是不可变的,因此,可以放心地作为key。而list是可变的,就不能作为key
- 使用set
set和dict类似,也是一组key的集合,但不存储value
要创建一个set,需要提供一个list作为输入集合:
>>> s=set([1,2,3])
>>> s
{1, 2, 3}
添加元素到set
>>> s.add(4)
>>> s
{1, 2, 3, 4}
从set中删除元素
>>> s.remove(4)
>>> s
{1, 2, 3}
两个set可以做数学意义上的并集,交集
>>> s1=set([1,2,3])
>>> s2=set([2,3,4])
>>> s1&s2
{2, 3}
>>> s1|s2
{1, 2, 3, 4}
注:str是不可变对象,list是可变对象
>>> a='abc'
>>> a.replace('a','A')
'Abc'
>>> a
'abc'
- python内置的常用函数
求绝对值的函数abs()
,求最大值的函数max()
,数据类型转换函数int()
,float()
,bool()
可以把一个内置函数名赋值给一个变量,该变量拥有同该函数相同的功能
>>> a=bool
>>> a(2)
True