运算符、基本数据类型

基本运算符

关系运算符:<  >  <=  >=  ==  !=(<>)

成员运算符:in    在;not in    不在

逻辑运算符:not  and  or

算术运算符:+  -  *  /  %  **  //

赋值运算符:+=  -=  *=  ...

 


数字(整型) int

类型转换

  int():将字符串转换成整型

  i.bit_length():当前数字的二进制至少要用n位表示

 


字符串 str

 1、capitalize()    字符串第一个字母大写

test = "hello world!"
print(test.capitalize())

 

2 - 6、

casefold()  可以将字母之外的字符成小写

lower()    只能转换英文字母成小写

islower()    判断是否全为小写字母

upper()   把所有字符转换为大写

isupper()   判断是否全为大写字母

swapcase() 大小写转换

test = "LinChuBin"
print(test.swapcase())
print(test.casefold())
t = test.lower()
print(t, t.islower())
t = test.upper()
print(t, t.isupper())

 

7 - 10、

count       字符串按照第一个参数(30)居中,其余地方填充第二个参数('*')

ljust       字符串按照第一个参数(30)左对齐,其余地方填充第二个参数('*')

rjust         字符串按照第一个参数(30)右对齐,其余地方填充第二个参数('*')

zjust        字符串按照第一个参数(30)右对齐,其余地方填充'0'(可能已经删除)

中文算一个字符

test = "mouse"
print(test.center(30, '*'))
print(test.ljust(30, '*'))
print(test.rjust(30, '*'))
test = "林xx"
print(test.center(30, '*'))

 

11、

count     在test中查找子字符串("m"),出现的次数,从区间[start(0), end(10))中查找

test = "mouse pig mouse"
print(test.count("m", 0, 10))

 

12 - 13、

endswith      判断test是否以参数一('m')结束,在区间[start, end)中判断

startswith    判断test是否以参数一('m')开始,在区间[start, end)中判断

test = "mouse"
print(test.endswith('m', 0, 1))
print(test.startswith('m', 0, 5))

 

14 - 15、

在区间[start, end)中获取"mous"第一次出现的位置

find      未找到返回-1

index     未找到程序报错

test = "mousemous"
print(test.find("mous", 6, 9))
print(test.index("mous", 6, 9))

 

16 - 17、

格式化,替换字符串中{}的内容

format        替换方式:1、传对应{}的名字替换;2、{}设置为从0开始,替换的内容按顺序填写

format_map    传一个字典,从字典里查找需要替换的内容

test = "My name is {name} and I am {age}."
print(test.format(age=21, name="LinChubin"))
print(test.format_map({"age":21, "name":"Linchubin"}))
test = "My name is {0} and I am {1}."
print(test.format(21, "LinChubin"))

 

18 - 19、

isalnum   判断是否全为字母、数字,返回布尔值

isalpha   判断是否全为字母、汉字,返回布尔值

test = "mouse_1201"
print(test.isalnum())
test = "mouse老鼠"
print(test.isalpha())

 

20 - 22、

判断是否为数字

isdecimal     普通数字

isdigit       普通数字 + 特殊数字(如:②)

isnumeric     isdigit基础上包含汉字数字

t = "12343②"
print(t.isdecimal())
print(t.isdigit())
print(t.isnumeric())

 

23、

expandtabs(num)   按照字符串中的制表符'\t'断句,每个制表位的间隔为num

t = "int\tstr\tlist\ttuple\tdict"
print(t.expandtabs(10))

 

24、

isidentifier  判断是否是标识符(不检查变量名是否是关键字)

t0 = "int"    #不检查是否是关键字
t1 = "abc"
t2 = "1ab"
print(t0.isidentifier(), t1.isidentifier(), t2.isidentifier())

 

25 - 28、

isprintable   判断是否不含转义字符,不包含返回Ture

isspace       判断是否全是空格

istitle       判断是否是英文标题(所有单词首字母大写)

title         转换成英文标题

t0 = "\t"
t1 = "mouse"
print(t0.isprintable(), t1.isidentifier())

 

29、

s.join(test)    将test中的元素用字符串s连接

t = "mouse"
print('*'.join(t))

 

30 - 32、

t.lstrip(s)   在t中删除s包含的字符,从左边开始,遇到第一个不匹配的停止,默认删除空白字符

t.rstrip(s)   在t中删除s包含的字符,从右边开始,遇到第一个不匹配的停止,默认删除空白字符

t.strip(s)    在t中删除s包含的字符,从两边开始,遇到第一个不匹配的停止,默认删除空白字符

t = "  \nmousemouse\n"
t1 = t.lstrip()
t2 = t.rstrip()
t3 = t.strip("mous\n ")
print("*******end*******")
print(t1)
print("*******end*******")
print(t2)
print("*******end*******")
print(t3)
print("*******end*******")

 

33 - 34、

str.maketrans(t1,t2)  创建对应关系

translate(t)      根据maketrans创建的关系进行替换

v = "abcdefgfedcba"
m = str.maketrans("abcd", "1234")
new_v = v.translate(m)
print(new_v)

 

35 - 39、

partition(s)     从左边开始第一个出现的字符s做分割

rpartition(s)    从右边开始第一个出现的字符s做分割

split(s, num)    以左边开始的num个字符s做分割,并删除字符s

rsplit(s, num)   以右边开始的num个字符s做分割,并删除字符s

splitlines(bool) 按照换行符进行分割,bool传True保留\n,False不保留\n

t = "mouse,pig\ndog,cat"
s = ','
print(t.partition(s))
print(t.rpartition(s))
print(t.split(s))
print(t.rsplit(s, 1))
print(t.splitlines())

 

41、

resplace(t1, t2, num) 替换,将str中的st1替换成st2,替换个数为num

t = "12341"
print(t.replace('1', 'a', 1))

 

补充:

索引    test[0]

切片    test[0:2]

len(test)     返回字符个数、列表元素个数

for 变量名 in 字符串

     操作

range(start, end, step)   创建连续的数字[start, end),步长为step

 


列表 list

中括号括起来,逗号分隔每个元素,元素可以是所有类型

可无限嵌套,可索引,可切片

以链表的方式存储

修改:

修改单个元素:索引

修改多个元素:切片

删除:

删除单个元素:del li[1]

删除多个元素:del li[1:3]

in 操作:判断元素是否在列表里

li = [120, "alxe"]
v = 120 in li     # True
v = 'lxe' in li   # False

 

多层索引(类似二维数组)

li = [[1, 2], [3, 2]]

则:li[1][0] = 3

 

类型转换:

字符串转列表

s = "alxe"

list(s)

字符串转换成列表,每个字母变成一个元素。数字不能转换成列表(可迭代对象才能转换成列表)

a)列表转字符串

li = ["alxe", 1, 2]

s = str[li]

则:s = "["alxe", 1, 2]"

b)列表元素有字符串和数字

li = ["alxe", 1, 2]

s = ""

for i in li

   s = s + str(i)

c)列表元素只有字符串

li = ["alxe", "123"]

s = "".join(li)

 


方法:

1、

append(p_object)  在列表尾追加元素,无论p_object是什么类型,都当成一个元素

li = [3, 4]
li.append([1, 2])
print(li)

 

2、

clear()   清空列表

li = [3, 4]
li.clear()
print(li)

 

3、

copy()    浅拷贝列表

li = [3, 4]
v = li.copy()
print(v)

 

4、

count(sub)    计算sub元素在列表中出现的次数

li = [11, 22, 44, 11, 33]
v = li.count(11)
print(v)

 

5、

extend(iterable)   扩展列表,在列表尾追加可迭代对象,可迭代对象的每个元素都当成一个元素追加进去(与append比较)

iterable              可迭代对象(字符串、列表...)

li = [3, 4]
li.extend([1, 2])
print(li)

 

6、

index(value)   在list中从左边开始查找第一个value的索引,找不到报错

start = None, stop = None

li = [11, 22, 44, 11, 33]
v = li.index(11)
print(v)v = li.index(55)    # 报错
print(v)

 

7、

insert(index, p_object)   在index之前插入元素p_object

li = [11, 22, 44, 11, 33]

print(li)
li.insert(li.index(44), 33)
print(li)

 

8 - 9、

pop(index)        删除索引为index的元素,默认删除最后一个元素,删除并获取删除的值

remove(value)     删除左边第一个值为value的元素,不返回值

li = [11, 22, 44, 11, 33]
v = li.pop(3)
print(v, li)
v = li.remove(11)
print(v, li)

 

10、

reverse   倒置

li = [11, 22, 33, 44]
li.reverse()
print(li)

 

11、

sort(key, reverse=False)      排序

key       涉及函数

reverse   False从小到大,Ture从大到小

li = [11, 22, 44, 11, 33]
li.sort()
print(li)

 


元组 tuple

大括号括起来,字典组成元素:键值对"key": "value"

value可以是任意类型

key可以是整型、字符串、布尔值、元组,列表、字典不能作为key

可以各种嵌套

字典无序

键值对的key相同时,排在后面的键值对不显示

 

索引: key作为索引

删除: del info[key]

可以使用for循环

 


方法:

1 - 3、

dict.keys()       获取key

dict.values()     获取value

dict.items()      获取键值对,返回两个值,key、value

info = {"k1":1, "k2":2, 3:"mouse"}
k = info.keys()
v = info.values()
it = info.items()
print(k, v)
print(it)

 

4 - 5、

dict.clear()      清空

dict.copy()       浅拷贝

 

6、

@staticmethod  # 直接类名.fromkeys执行

dict.fromkeys(key, value)     根据序列key创建字典,同时赋值value,带 * 号,万能参数

info = dict.fromkeys(["k1", "k2", 3], "mouse")
print(info)

 

7、

dic.get(key, num)      获取索引为key的元素,key不存在时返回num,默认返回None

info = {"k1":1, "k2":2, 3:"mouse"}
k0 = info.get("k1", "mou")
k1 = info.get("k3", "mou")
print(k0, k1)

 

8、

dict.pop(key,num)     删除并返回键值,key不存在时返回num,默认返回None

dict.popitem(k)        随机删除并返回键值对

info = {"k1":1, "k2":2, 3:"mouse"}
k0 = info.pop("k2")
print(k0, info)
k1 = info.popitem()
print(k1, info)

 

9、

dict.setdefault(key, value)   设置键值对,如果key存在,则返回当前key的value,不存在则把key: value设置进字典

info = {"k1":1, "k2":2, 3:"mouse"}
v = info.setdefault("k3", 3)
print(v, info)
v = info.setdefault("k2", 3)
print(v, info)

 

10、

dict.update(key1: value1, key2: value2, ...)  key存在则更新,不存在则设置

info = {"k1":1, "k2":2, 3:"mouse"}
info.update({"k1":"m", "k2":"o", "k3":"s"})
print(info)

 

 

 

 

 

 

 

 

 

posted @ 2018-03-29 20:48  Molin121  阅读(235)  评论(0)    收藏  举报