字符串是以单引号'或双引号"括起来的任意文本如果'本身也是一个字符,那就可以用""括起来
'I\'m \"OK\"!'
表示的字符串内容是:
I'm "OK"!用\进行转义的处理
print('\\\n\\')
\
\两个\\表示\
r''表示''内部的字符串默认不转义
>>> print('\\\t\\')
\ \
>>> print(r'\\\t\\')
\\\t\\用'''...'''的格式表示多行内容
print('''line1
... line2
... line3''')
line1
line2
line3...为提示符,并不是你输入的
对于变量,加上int则为静态的整型,不能再变为char字符型
另外,还有BOOL类型,and,or,not,大于小于等用于判断条件的
int(x),对x保留整数,round(x),对x四舍五入
对于运算,除法/为浮点数,//为取整,%取余
3.0
>>> 9//3
3
>>> 10/3
3.3333333333333335
>>> 10//3
3
>>> 10%3
1
字符串
ord('some') ''里面的内容转化为相应的整型,chr()则把编码转化为字符
>>> ord('A')
65
>>> ord('中')
20013
>>> chr(66)
'B'
>>> chr(25991)
'文'
>>> 'ABC'.encode('ascii')
b'ABC'
>>> '中文'.encode('utf-8')
b'\xe4\xb8\xad\xe6\x96\x87'
>>> '中文'.encode('ascii')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)这种方式用于编码保存,因为要以bytes存储到磁盘当中,注意中文不能用ASCII来保存
‘some’.encode('some')
>>> b'ABC'.decode('ascii')
'ABC'
>>> b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')
'中文'相对应解码也如此
>>> b'\xe4\xb8\xad\xff'.decode('utf-8', errors='ignore')
'中'忽略错误的编码
1个中文字符经过UTF-8编码后通常会占用3个字节,而1个英文字符只占用1个字节。
len()函数计算的是str的字符数,如果换成bytes,len()函数就计算字节数:
>>> len(b'ABC')
3
>>> len(b'\xe4\xb8\xad\xe6\x96\x87')
6
>>> len('中文'.encode('utf-8'))
6#!/usr/bin/env python3
# -*- coding: utf-8 -*-文件开头写上指定中文保存为utf_8
格式化 如列子,注意%占位符
'hi,i\'m %s,you have %d to wait'%('liu',88)
"hi,i'm liu,you have 88 to wait"
另外可以format()
>>> 'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)
'Hello, 小明, 成绩提升了 17.1%'>>> '%s,you are good,your grade up to %2.1f %%' %('xiaoming',(85-72)/72)'xiaoming,you are good,your grade up to 0.2 %'

1900

被折叠的 条评论
为什么被折叠?



