基础知识点拾遗
以此来记录记忆不深刻的知识点,持续补充
字符串
str.lstrip()/rstrip()/strip() 去除左侧/右侧/双侧空格,由最外侧空格开始至第一个非空格字符结束
“连接符”.join(strList)
注:仅可对全字符串列表进行使用此方法,若存在非字符串类型则抛出TypeError
补:str.split(“分割字符串”)
分割字符串:将以此字符/字符串 作为分割点,将str分割为列表
如下:以空格分割字符串
以"is"分割字符串
str.isalpha() / isdigit() / isalnum() / islower() / isupper() / isspace()
分别代表判断字符串是否为:字母 / 数字 / 字母或数字 / 小写 / 大写 / 空格
中文同样是字母,但不可区分大小写
空格代表space,单个多个均可
显然空串""并不是space
查看字符对应的编码值(ord(string)、chr(编码值))
注:在python2中默认编码方式为ascii,所以需要使用以下方式将编码方式改为unicode,否则无法识别中文的编码(毕竟ascii里也没有中文嘛)
# -*- coding: utf-8 -*-
'''
python2环境下
'''
str1 = 'a'
str2 = '中'
str3 = u'中'
print(ord(str1))
print(ord(str3))
try:
print(chr(20013))
except:
print("运行失败")
try:
print(ord(str2))
except:
print("T T")
Python3中因为已经将默认的编码方式改为了unicode所以对各国语言支持都没什么大问题,实际操作如下:
str.capitalize()—首字母大写
关于格式化字符串
只有元组和字典可以格式化一个以上的字符串
1)、正确写法,两个要被格式化的字符,以元组的形式给出且元组必须有()
2)、当()缺失时程序会有多种解释,为了避免这种情况的出现 会在此处抛出异常TypeError。所以此处的()的必须性不代表元组必须要有括号,元组的标识性符号还是逗号—“,”
3)、此处若以列表代替元组同样会抛出TypeError,同样是为了避免出现歧义
如果是以.**format()**的形式进行格式化则可忽略此处,毕竟是一个萝卜一个坑
模板字符串
类似Unix Shell的变量替换
from string import Template,从string模块中导入Template。在模板中$用以作为被关键字来标识被替换的变量,在使用时要用 .substitute(key = value, key=value…)的形式给出。
或者也可用字典作为.substitute()的参数,如:
要注意的是:以K=V的形式给出的 K 非字符串,而以字典形式给出的 K 则为字符串。
字典
由键取值
法一:value = dictName[keyName]
由key来获取value,若key不存在则抛出异常
法二:value = dictName.get(keyName, falseValue)
由key来获取value,若key不存在则返回 “falseValue”,此方法不改变字典本身(与法三对比)
法三:value = dictName.setdefault(keyName, falseValue)
由key来获取value,若key不存在则向原字典添加key:falseValue的项,并返回falseValue。若key存在则直接返回value忽略参数"falseValue"。此方法会改变原字典