python基本成分详解

字符串

一、需要了解的

msg = 'HelloWorld'

1、isdecimal判断是否是十进制(整数)w
print(msg.isdecimal())

2、endswith判断字符串末尾是否是指定的字符
print(msg.endswith('ld'))

3、startswith判断字符串开头是否是指定的字符
print(msg.startswith('w'))

4、count判断字符串当中的某个字符的个数
print(msg.count('q'))

5、title把字符串变成抬头形式
print(msg.title())

6、index从左往右取第一个定义的字符,如果没有找到报错
print(msg.index('h'))

7、upper是把字符串变成大写
print(msg.upper())

8、lower把字符串变成小写
print(msg.lower())

9、判断整个字符串是否为大写
print(msg.isupper())

10、判断整个字符串是否是小写
print(msg.islower())

11、isalpha判断是否全部都是字母
print(msg.isalpha())

12、isalnum判断字符串是否由字符或者数字,或者字符和数字的组合
print(msg.isalnum())

13、isdigit判断字符串是否是整数
print(msg.isdigit())

14、rindex从右往左检索指定的第一个字符,
print(msg.rindex('l'))

15、isspace判断字符串是否全部是空格
print(msg.isspace())

16、find从左往右检索指定的第一个字符,如果找不到返回-1
print(msg.find('www'))

17、rfind从右往左检索指定的第一个字符,如果找不到返回-1
print(msg.rfind('q'))

二、必须要掌握的

msg = '你好'
msg = '===192.168.250.254='

1、split从左往右以指定分隔符,会把字符串变成列表,并且可以指定切割次数
print(msg.split('.',1))

2、rsplit从右往左以指定分隔符,会把字符串变成列表,并且可以指定切割次数
print(msg.rsplit('.',1))

3、join是把可迭代对象变成字符串(可迭代对象:列表,元组,字典,字符串,集合)
res = ''.join(['1','2','3'])
print(res)

4、replace替换字符,并且可以指定替换次数
print(msg.replace('.','|',1))

5、strip可以去除字符串两边的指定字符,默认为空格
print(msg.strip('='))
res = input('==>#').strip()
print(res)
print(msg.lstrip('='))
print(msg.rstrip('='))

6、转码,encode把字符串变成bytes类型
utf8,一个汉字占3个字节,生僻字更多
gbk,一个汉字占2个字节
res = msg.encode('utf-8')

7、解码,decode
print(res.decode('utf-8'))

8、format,格式化输出
name = '蒋介石'
age = 23
第一种玩法
res = 'my name is {}, my age is {}'.format(name,age)
第二种玩法
res = 'my name is {1}, my age is {0}'.format(name,age)
第三种玩法
res = 'my name is {n}, my age is {a},my small name si {n}'.format(a=age,n=name)
print(res)

9、%s,%d,%f,占位符,格式化输出
high = 192.2
used = 89
res = 'my high is %.2f%%' % used
print(res)

10、单引号和双引号和三引号配合使用
res = "it's beautifull girl"
print(res)

11、字符串的拼接,字符串可以相加
a = '1'
b = '2'
print(type(a+b))

12、字符串可以相乘
print('=' * 5)

列表,列表可以存储多个值

students = ['f','a','b','c','d','d','2','1']

一、需要了解的

1、count统计指定元素个数
res = students.count(2)
print(res)

2、index取指定元素的下标(索引),如果没有取到报错
print(students.index('f'))

3、reverse倒序
students.reverse()
students.reverse()
print(students)

4、根据下表或者索引剪切元素,默认取最后一个元素
print(students.pop(1))
print(students)
print(students.pop())
print(students.pop())
print(students.pop())
print(students)

5、clear清空列表所有元素
students.clear()
print(students)

6、copy复制一个列表
res = students.copy()
print(res)

7、sort排序
students.sort()
print(students)

8、insert 通过下表方式插入元素
students.insert(3,'sb')
print(students)

二、必须要掌握的

9、append会把指定元素追加到末尾
students.append('sb250')
students.append('sb250')
students.append('sb250')
students.append('sb250')
print(students)

10、remove 删除指定元素
students.remove('f')
print(students)

11、extend,把可迭代对象传入进去
students.extend(['asd','qwe'])
print(students)

12、列表可以相加
l1 = [1,2,3]
l2 = [1,4,5,6]
print(l1 + l2)

13、列表可以乘数字
l1 = [1,2,3]
l2 = [1,4,5,6]
print(l1 * 3)

字典

字典,key:value
字典中key不要重复
info = {
'name':'疯子',
'high':190,
'weight':160,
}

一、需要了解的

1、copy复制一份字典

2、clear清空字典

3、pop剪切,找不到这个key就报错
print(info.pop('a'))
print(info)

4、popitem以键值对的形式剪切
print(info.popitem())
print(info.popitem())

5、给字典设置一个默认键值对
info.setdefault('name','蒋介石')
print(info)

6、fromkeys快速建立一个空字典
res = {}.fromkeys(['name','age'],None)
print(res)

二、必须掌握

1、info1 = {
'name':'疯子',
'high':190,
'weight':160,
}
info2 = {
'telephone':110,
'name':'蒋介石'
}

update把两个字典合并成一个字典
info1.update(info2)
print(info1)

2、items将所有键值对全部打印出来
res = info1.items()
print(res)

3、keys打印字典中所有的key
print(info1.keys())

4、values打印字典中所有的value
print(info1.values())

5、get通过key取value,如果取不到返回None,不能重新赋值
print(info1.get('aa'))

6、[]通过key取value,如果取不到报错,可以重新赋值的
info1['name'] = '蒋介石'
print(info1)

元组

t1 = (1,2,3)
t1.index()
t1.count()

整数

num = 10

浮点数

num_f = 10.2

集合

1、去重

2、remove删除元素
s1 = {1,2,3,4,5,6}
s1.remove(3)
print(s1)

3、复制集合
s1.copy()

4、pop剪切
print(s1)
res = s1.pop()
res = s1.pop()
res = s1.pop()
res = s1.pop()
print(res)

5、add添加元素
s1.add('250')
print(s1)

6、update
s1.update([1,2,7])
print(s1)

7、判断一个集合是否是另一个集合的子集
s1 = {1,2,3,4,5,6}
s2 = {1,2,3,7}
res = s2.issubset(s1)
print(res)

8、判断一个集合是否是另一个集合的父亲
res = s1.issuperset(s2)
print(res)

9、union取并集
print(s1.union(s2))

10、求差集
print(s2.difference(s1))

11、交集
print(s1.intersection(s2))

总结:
列表,字符串,字典,整型,布尔用的是最多的
元组,集合,浮点型用的相对较少

布尔

Ture和False
0,None,空全部为假,其余全部为真

a = ''
if a:
print('真')
else:
print('假')

引用计数和垃圾回收机制

引用计数:
一个门牌号对应一个内存地址,一个内存地址可以对应多个门牌号,一个门牌号相当于对变量的一次引用
垃圾回收机制
1.当引用计数为0的时候回收资源
2.在程序结束的时候回收资源

可变类型和不可变类型

1.可变类型:在id不变的情况下,value可以变,则称为可变类型,如列表,字典

  1. 不可变类型:value一旦改变,id也改变,则称为不可变类型(id变,意味着创建了新的内存空间)

内置函数(len,in,not in)

基本运算符

a = 10     b=20

image

比较运算符

image

赋值运算符

image

身份运算符

is表示id是否相等,也就是比较内存地址是否一致,一致为True,不一致为False

==表示两个值是否一致,一致为True,不一致为False

posted @ 2019-07-03 15:15  BeiteJohn  阅读(234)  评论(0编辑  收藏  举报