本文共 2207 字,大约阅读时间需要 7 分钟。
本文参考:
#!/usr/bin/env python3print('hello, world')
$ chmod a+x hello.py$ ./hello.py$ hello, world
print("输出内容")
/ input("提示符")
1
,-1
,0
…十六进制用0x前缀0xff00
1.23
,3.14
1.23x10的9次方就是1.23e9
0.000012可以写成1.2e-5'abc'
,"xyz"
,Python用r’‘表示’'内部的字符串默认不转义True
、False
None
None
不能理解为0
,因为0
是有意义的,而None
是一个特殊的空值a = 1
PI = 3.14159265359
全部大写的变量名表示常量除法/
:结果是浮点数
>>> 9 / 33.0>>> 10 / 33.3333333333333335
除法//
,结果是整数
>>> 10 // 33
余数运算%
:
>>> 10 % 31
字符串是以Unicode编码
单个字符的编码,ord()
获取字符的整数表示,chr()
把编码转换为对应的字符 >>> ord('A')65>>> ord('中')20013>>> chr(66)'B'>>> chr(25991)'文'
Python的字符串类型是str
,在内存中以Unicode表示,一个字符对应若干个字节。如果要在网络上传输,或者保存到磁盘上,就需要把str变为以字节为单位的bytes。应当始终坚持使用UTF-8
编码对str和bytes进行转换。
bytes类型的数据用带b前缀的单引号或双引号表示x = b'ABC'
要注意区分’ABC’和b’ABC’,前者是str,后者虽然内容显示得和前者一样,但bytes的每个字符都只占用一个字节,而前者用Unicode表示占2个字节
len()
函数计算的是str
的字符数,如果换成bytes
,len()
函数就计算字节数:
>>> len('ABC')3>>> len('中文')2>>> len(b'ABC')3>>> len('中文'.encode('utf-8'))6
Python解释器读取源代码为了按UTF-8编码读取,通常在文件开头写上这两行:
#!/usr/bin/env python3# -*- coding: utf-8 -*-
格式化用%
实现:
>>> 'Hello, %s' % 'world''Hello, world'>>> 'Hi, %s, you have $%d.' % ('Michael', 1000000)'Hi, Michael, you have $1000000.'
用%%
来表示一个%
>>> 'growth rate: %d %%' % 7'growth rate: 7 %'
list有序集合 l = []
classmates = ['Michael', 'Bob', 'Tracy']
classmates[-1]
=‘Tracy’append('Adam')
insert(1, 'Jack')
pop()
pop(1)
tuple元组, t = ()
t = (1,)
classmates = ('Michael', 'Bob', 'Tracy')
if
elif
else
for x in ...
Python提供一个range()函数,生成一个整数序列range(101)
可以生成0-100的整数序列 while
break
continue
dict字典, d={}
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
d['Michael']
= 95in
判断key是否存在 'Thomas' in d
=Falsepop(key)
,对应的value也会从dict中删除dict
的key
必须是不可变对象,字符串、整数等都是不可变的set无重复集合s = set([1, 2, 3])
add(key)
remove(key)
对于不可变对象str
进行操作
>>> a = 'abc'>>> a.replace('a', 'A')'Abc'>>> a'abc'
虽然字符串有个replace()方法,也确实变出了’Abc’,但变量a最后仍是’abc’,应该怎么理解呢?
我们先把代码改成下面这样:>>> a = 'abc'>>> b = a.replace('a', 'A')>>> b'Abc'>>> a'abc'
replace
方法创建了一个新字符串'Abc'
并返回,变量a仍指向原有的字符串'abc'
,但变量b
却指向新字符串'Abc'
了
tuple
虽然是不变对象,但把(1, 2, 3)放入dict或set中可以,(1, [2, 3])不可以。
转载地址:http://nuhpi.baihongyu.com/