1.2 基础语法(1)
1、数据类型
判断数据类型的方法:type()
isinstance()
>>>type(5) # 返回数据的类型
<class 'int'>
>>>isinstance(5, int) # 返回匹配的结果,相同则返回True,否则返回False
True
1.1 Number(数字)
python中的数字类型包括int、float、bool、complex四种类型。
浮点型转换为整型:int()
>>>int(5.99) # 这里python会做截断处理
5
1.2 String (字符串)
字符串即一连串的字符组合,可以用单引号,双引号,或三引号(允许换行)包含。
索引
>>>'Hello World!'[1]
'e'
>>>'Hello World!'[-1]
'!'
>>> for i in 'Hello World!':
print(i, end = ' ')
H e l l o W o r l d !
拼接
>>> 'Hello' + ' World' + '!' # 不仅适用于字符串
'Hello World!'
>>> 'Hello' ' World' '!' # 仅适用于字符串
'Hello World!'
切片
>>> a = 'Hello World!'
>>> a[1:3]
'el'
>>> a[-4:-1]
'rld'
1.3 Sets(集合)
1.4 List(列表)
1.5 Tuple(元组)
1.6 Dictionary(字典)
2、运算符
算术运算符
+ - * / // ** %
赋值运算符
= += -= *= /= //= **= %=
逻辑运算符
and or not
位运算符
3、数据结构**
3.1 列表操作
列表推导式
[i for i in range(0,10)]
[(x,y) for x in range(10) for y in range(10) if x%2 == 0 if y%2 != 0]
添加元素
list.append('a') # 添加单个元素
list.extend(['a','b','c']) # 与另一个列表合并
list.insert(1,'a') # 将元素插入到相应的位置
删除元素
list = ['a','b','c']
list.pop(1) # 执行后返回删除的元素,如果不加参数,默认删除最后一个
list.remove('a') # 这里使用的是列表这个类的方法
del list['a'] # 这里使用的是命令语句
list.clear() # 删除全部元素
del list[:] # 同上
提取元素
list = ['a','b','c']
list[1] #
list[1:2] #切片的方式
list[-1]
list[-2:-1]
其他方法
list = ['a','b','c']
list.count('a') # 计算元素在列表中出现的次数
list.index('a',0,2) # 返回元素在一定范围内的位置
list.reverse() # 反转元素的顺序
list.sort(key, reverse=False) # key可以引入某个函数,使用该函数的规则排序;reverse来规定排序由大到小还是反过来
list.copy() # 返回列表的一个浅拷贝,相当于list[:]
3.2 元组操作
元组属于不可修改的数据类型,因此使用方法操作后会返回一个值,但原有的元组还是保持不变。
索引
>>> Tuple[1]
2
>>> Tuple[-1]
4
>>> Tuple[1:3]
(2, 3)
>>> Tuple[-3:-1]
(2, 3)
拼接
result = Tuple[:2] + Tuple[2:]
方法
>>> Tuple.count(1)
1
>>> Tuple.index(1)
0
3.3 字典操作
Dict = {1:'one',2:'two'}
修改值
Dict[1] = 'ONE'
添加值
Dict[3] = 'three'
初始化
>>> Dict = {}
>>> Dict.fromkeys((1,2,3),'number')
{1: 'number', 2: 'number', 3: 'number'}
keys、values、items
>>> for i in Dict.keys():
print(i)
1
2
>>> for i in Dict.values():
print(i)
ONE
two
>>> for i in Dict.items():
print(i)
(1, 'ONE')
(2, 'two')
# 只能作为迭代器,不能使用索引,如dict.keys[1],会报错!
删除元素
Dict.pop(1) # 输入一个键,然后返回它的值并且删除
Dict.popitem() # 不需要参数,随机删除一项,并以元组的形式返回
方法
Dict.clear() # 删除字典
Dict.copy() # 浅拷贝
Dict.get(4,'不存在') # 查询元素是否在字典中,若在返回对应的值;否则返回后面的参数,默认是None
Dict.setdefault(5,'five') # 与get类似,区别在于当不存在时,会添加该键和值,若不添加第二个参数,值会默认为None
Dict.update(Dict_2) # 更新Dict,已有的更新值,没有的添加。?
4、字符串操作
字符串与元组相同,属于不可分割的数据类型。
大小写转换
str.capitalize() # 首字母大写
str.lower() # 全部小写(A-Z)
str.casefold() # 与lower类似,据说适用于其他语言的小写
str.swapcase() # 大小写反转
str.title() # 换成标题格式,即每个单词的首字母大写,其余小写
str.upper() # 全部大写
格式输出
str.center(width[, fillchar]) # 给定一定的宽度让字符串居中显示,fillchat可以指定填充的形式为字符
str.ljust(width[, fillchar]) # 给定一定的宽度让字符串靠左显示,可填充可定字符
str.rjust(width[, fillchar]) # 靠右,同上
str.zfill(width) # 用0填充给定宽度的字符串,填充位置值得考虑
str.expandtabs(tabsize=8) # 用指定的空格替代横向制表符,使得相邻字符串之间的间距保持在指定的空格数以内。tab 符号默认的空格数是 8。
str.format(^args, ^^kwargs) # 格式化字符串
str.format_map(mapping) # 与上面类似,区别是mapping是一个字典
搜索定位和替换
str.count(sub[, start[, end]]) # 返回字符串在一定范围内出现的次数
str.find(sub[, start[, end]]) # 返回最前面出现的位置,找不到返回-1
str.rfind(sub[, start[, end]]) # 返回最后面出现的位置
str.index(sub[, start[, end]]) # 与上面类似,但找不到会报错
str.rindex(sub[, start[, end]])
str.replace(old, new[, count]) # 返回替换的结果,第三个参数为替换的次数
str.lstrip([chars]) # 去掉左面的空格或特定字符
str.rstrip([chars])
str.strip([chars]) # 同上
static str.maketrans(x[, y[, z]]) # !!!!!这么好玩!密码本?!
str.translate(table)
例子:
>>> a = 'dobi'
>>> b = {'d':'dog','o':' is','b':' friend','i':'!'}
>>> table = str.maketrans(b)
>>> table
{100: 'dog', 111: 'is', 98: 'friend', 105: '!'}
>>> a.translate(table)
'dog is friend!'
联合和分割
str.join(iterable) # 以str为分隔符,将元素合并为字符串
str.partition(sep); # 以sep为分隔符,将字符串分为三部分,中间是分隔符
str.rpartition(sep) # 同上,不过从右边开始寻找
str.split(sep=None, maxsplit=-1) # 分割
str.rsplit(sep=None, maxsplit=-1)# 从右边
str.splitlines([keepends]) # 字符串以行界符为分隔符拆分为列表;当 keepends 为True,拆分后保留行界符,能被识别的行界符见官方文档。
string.splitlines(num=string.count('\n')) #按照行分隔,返回一个包含各行作为元素的列表,如果 num 指定则仅切片 num 个行.
字符串条件判断
str.endswith(suffix[, start[, end]]) # 判断在指定范围内,str是不是以suffix结尾,返回True或False
str.startswith(prefix[, start[, end]]) # 同上
str.isalnum() # 如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False
str.isalpha() # 如果 string 至少有一个字符并且所有字符都是字母则返回 True,否则返回 False
str.isdecimal() # 如果 string 只包含十进制数字则返回 True 否则返回 False.这种方法只存在于unicode对象
str.isdigit() # 如果 string 只包含数字则返回 True 否则返回 False.
str.isnumeric() # 如果 string 中只包含‘数字字符’,则返回 True,否则返回 False
str.isidentifier() # 判断是不是标志符,包括已定义的各种变量
str.islower()
str.isprintable() # 判断字符串的所有字符都是可打印字符或字符串为空。Unicode 字符集中 “Other” “Separator” 类别的字符为不可打印的字符
str.isspace()
str.istitle()
str.isupper()
编码
str.encode(encoding="utf-8", errors="strict")
Last updated
Was this helpful?