GBK编码是中文编码
以一种编码编,以另外一种编码读,肯定会乱码
utf8中文占用3个字节
gbk中文占用2个字节
python的while也有else语句,但是只执行一次
IDE集成开发环境
“郑建文”,建文,是子字符串,也叫子序列
运算符
- in,和not in。 if判断后的条件,本质上就是true或者false
- 算数运算符和赋值运算符,得到的是数值
- 比较运算,逻辑运算和成员运算符,得到的布尔值
数据类型
- 数字,字符串,布尔值,每种类型有自己的魔法功能,变量.就可以调用魔法
数字
- int将字符串转换为数字,num = "0011",v = int (num, base = 16),将16进制的num转换成10进制
- type()获取数据的类型
- age.bit_length(),表示age的数字取值,用二进制至少用几位来表示。如5的二进制位数至少是3
字符串test= "alex"(7个基本魔法,4个灰魔法)
- test.capitalize(),首字母大写
- test.casefold()和test.lower,所有的变小写
- 遇到魔法中def center(self,width,fillchar = None)没有等号的,都是必须带的。如果有=None,则默认为None。该函数是设置宽度,并将内容居中
- test.l just(20,"*"),占用20位,将test放置左边,*补充空位。r just。
- test.count('r'),计算r在test中出现多少次
- encode和decode很重要
- test.endswith('x'),字符串是否以x结尾。startswith
- test.find('ex')在字符串中找到第一个ex,获取其位置,找不到返回-1。 index(‘x’)也可以找x的位置,找不到返回错误。
- test = 'i am {name}, age = {a}'。v= test.format(name='alex', a=19),格式化,将format中的值替换到test对应的占位符
- test = ‘ i am {0}, age = {1}’,test.format('alex',19),按照format中的顺序填入test对应的占位符
- test.format_map({"name":'alex',"a":19}),利用字典的性质进行格式化,与format功能相同
- test.isanum(),检测test字符串是否只包含字母和数字
- test.expandtabs(6),表示按照6位一组来检测有无tab,如果有,则当前组不够6位的数字用空格凑。/t+前边的等于6位长度
- test.isalpha检测test是否仅为字母
- test.isdecimal,和test.isdigit均是判定是否是数字,test.isnumeric()也能判断是否为数字,包括“二”
- test.isidentifier()检测test是否是标识符,只由字母,数字,下划线组成
- test.isprintable(),检测字符串中是否有打印时不可显示的东西,如/t,/n等
- test.isspace(),判断字符串是否全为空格
- test.istitle(),检测字符串是否为标题。标题的每个单词的首字母需要大写。test.title(),将字符串转换为标题
- !!!t.join(test),将字符串的每个元素按照指定分隔符t拼接起来,如t = " ",则将test每个元素之间加个空格。在列表中也能用
- test.upper,isupper,lower,islower,转换为大写,是否全部为大写
- test.lstrip('abc')从左向右,使用字符abc中的子序列进行最大正向匹配,然后去除匹配成功的序列。rstrip,strip,去除左右空白。最长公共子序列
- m = str.makettrans("aeiou", "12345"),将两个字符做匹配,a对应1,然后test.translate(m),是将字符串test中的字符按照m给出的对应关系进行替换,如将test中的a替换为1
- 正则表达式是以下两个魔法的功能合集:
- test.partition('s)将test按照s从左开始分割成3份,rpartition('s')是从右开始分割
- !!!test.split('s',2),是将test从左开始,按照s分割成3份,不显示s。rsplit是从右开始。
- test.splitlines(True),是将test按照换行符号进行分割,并显示换行符号
- test.swapcase(),是对test每个字符进行大小写互换,大写字符转成小写,小写字符转成大写
- test.replace("ex","bbb",n),对test从左开始的前n个ex替换成bbb
-
灰魔法:
- 索引下标来获取字符串中的某一个字符。
- 截取或切片[ 2: 4],左闭右开。
- len获取长度。len在其他数据类型中也能用到,如列表。
-
for循环,for 变量名 in 字符串:print (变量名)。for循环自动完成+1的操作,将字符串一个个遍历。for循环的灰魔法,在其他数据类型中也能用,break和continue也支持
-
深灰魔法
-
字符串在内存中一旦创建,就不可修改。如果修改,则重新创建一个字符串。原因是,如果修改内容大于原本内容,则空间不够用。在java,c#同样
- 创建连续的数字,v= range(100,x),for item in v:print(item),python3中不会一开始就创建0到100,只有使用时才创建。x是步长,每x个创建一个