python中内置对象常用的方法主要有:
- 整数/浮点数
- 字符/字符串
- 列表/元组
- 字典
- 集合
整数/浮点数
#查看对象类型函数
type(x)
#int整数类型
type(x.x)
#float浮点类型
int/float不只可以用作属性的描述,还可以用作函数int()/float()
int(3.14)
#运行结果为3
float(3)
#运行结果为3.0
字符和字符串
定义:一串字符是用 ‘’ 或 “” 引起来的,字符串是字符串列表,索引从0开始,字符串不可变,可以通过索引访问,索引从0开始,-1代表最后一个索引不能操作范围,+表示链接:控制台input()方法输入的内容都是字符串,切片[开始:结束:步长],[ : :-1]
格式化字符串
name = tom
age = 20
# 方法1.使用占位符格式化
print("名字:%s,年龄:%d"%(name,age))
# 方法2:格式化
print(f"名字:{name},年龄:{age}")
# 方法3:格式化
print("名字:{0}年龄{1}".format(name,age))
转义
\\' 转义
\t 制表符等于4个空格(Tab)
\n 换行 \r\n linux换行
\ 续行(该行还未结束,下一样继续)
- chr() 转化为字符
chr(97) #转化为a
chr(65) #转化为A
内置方法
len(字符串) #字符串的长度
ord()转化为对应ASCII ord(‘A’)–>65
find(字符) :查找某处字符串第一次出现的索引位置,找不到返回-1
index(字符)找不到报错
replace(‘老字符串’,‘新字符串’)替换
splite(‘字符’)拆分 返回列表
lower(字符串)转为小写
str1='hello python'
str2=str1.lower()
print(str2)
upper(字符)转为大写
str1='hello python'
str2=str1.upper()
print(str2)
strip(字符串)去掉两遍空格(rstrip(字符串)去掉右边空格 lstrip(字符串)去掉左边两个空格)
#strip(字符串)去掉指定的字符串,默认去掉换行
str1='this'
print(str1)
str2=str1.strip('t').strip('h')
print(str2)
#rstrip(字符串)从右边去掉某个字符
str1='this'
print(str1)
str2=str1.rstrip('s')
print(str2)
#去掉左边某个字符
str1='this'
print(str1)
str2=str1.lstrip('t')
print(str2)
not in ‘hello’ 判断是否存在!
# 生成a-z
print(chr(random.choice(range(97,123))))
# 生成A-Z
print(chr(random.choice(range(65,91))))
列表
列表、元组和字符串都有共同点:都可以通过索引得到每一个元素,默认索引值都从0开始,可以通过分片的方法得到一个范围内的元素的集合,有很多共同操作符(重复操作符、拼接操作符、成员关系操作符)
- 列表(序列)内置函数:
- list():把一个可迭代的对象转换为列表形式
- len():返回列表长度
- max():返回序列或者参数集合中的最大值
- min():返回序列或者参数集合中的最小值
注意:max()和min()都要保证参数集合或者序列的数据类型是一致的
报错:TypeError:unorderable types:str()>int() - sorted():返回一个排序的列表,默认是从小到大
使用方法:和list.sort()一样 - enumerate():枚举,生成由每个元素index值和item值组成的元组
#list()示例
b='skghowr'
list(b)
#('s','d','g','h','o','w','r')
c='1.1.2.2.3.3'
list(c)
#(1.1.2.2.3.3)
#max示例
max(2.3.4.5)
#5
b='bdhfgqaurz'
max(b)
#'z'ASCII码
字典
python中字典是一种映射类型,key是关键字,vlue是对应的值
字典中{ }来定义,字典由多个键和其对应的值构成,每一个键值组合称为项
字典内置方法
- fromkeys():用于创建并返回一个新的字典
- keys():用于以列表形式返回字典中的键
- values():以列表的形式返回字典中的值
- items():返回字典中的键值对
- get():访问字典项,当访问的键不存在的时候,只返回一个None,表示什么都没有找到,或可在
# 创建字典
dict1 = {}
dict1 = dict((('o', 10), ('w', 20), ('e', 30), ('n', 40))) # dict()函数的参数可以是一个序列,元组或列表都可以
print(dict1)
dict2 = dict([('a', 10), ('b', 20), ('c', 30)]) # dict()参数是列表
print(dict2)
dict3 = dict(a = 1, b = 2, c = 3) # 键的位置不能加引号
print(dict3)
dict4 = {}
print(dict4.fromkeys((1, 2, 3)))
#key values items方法
print(dict2.keys())
print(dict2.values())
print(dict.items())
#运行结果为dict_keys(['a','b','c'])
#dict_values([10,20,30])
#dict_items([('a',10),('b',20),('c',30)])
#get方法
print(dict2.get('r'))
print(dict2.get('h','没有')) #第二个参数设置对应的默认返回值
#运行结果为None 没有
- clear():清空字典
a={'姓名':'owen'}
b=a #此时a,b都指向同一个字典
a={} #a指向一个空字典,但是b指向的字典依然没有清空
print(a)
print(b)
c={'姓名':'owen'}
b=c
print(c.clear())
print(b.coear())
#运行结果为:
#{}
#'姓名':'owen'
#None
#None
- copy():复制字典
copy():d,h两者地址不一样,所有两者不是指向同一个字典如果改变字典中键对应的值,则d改变,h不变
d={'姓名':'owen'}
f=d
h=d.copy()
d['姓名']=’‘charlin
print(d)
print(f)
print(h)
#运行结果为
#{'姓名':'charlin'}
#{'姓名':'charlin'}
#{'姓名':'owen'}
- pop():删除字典
pop()弹出指定键对应的值,popition()是弹出来个键值对
#dict2在创建字典代码块中
print(dict2.pop(''b))
print(dict2.popitem())
print(dict2)
- setdefault():在字典中存在对应键 返回对应的值,不存在添加
t={1:100,2:200,3:300}
print(t.setdefault(2))
print(t.setdefault(6))
print(t)
#运行结果为
#200
#None
#{1:100,2:200,3:300,6:None}
- update():更新字典
def test(**params)
print('有%d个参数'%len(params))
print('他们分别是:'.parames)
test(a=1,b=2,c=3)
#运行结果为
#有3个参数
#他们分别是:{'a':1,'b':2,'c':3}
集合
用{}括起来的,但是没有体现映射关系,集合中的元素是无序的,集合中的元素输出后都是唯一的
num1={}
num1={1,2,3,4,5}
print(num1)
#运行结果为
#{}
#{1,2,3,4}
去掉列表里的重复元素
list1=[1,2,3,4,4,2,7,8,9]
list1=list(set(list1))
#set()创建集合,集合元素是唯一的,所以可以去重,自动排序
print(list1)
访问集合
因为集合中的元素是无序的,所有不能信用索引下标来进行访问,但是可以用循环迭代把集合中的元素读取出来
set2={1,3,2,4,5,9,5,7,6,8}
#集合中的元素是无序,如果元素是数字,输出时自动排序,如果有字符串,输出无序
for i in set2:
print(i.end='')
in与not in 判断一个元素是否在集合里
print(o in set2)
print(3 in set2)
print(o not in set2)
#运行结果
#False
#True
#True
不可变集合
使用frozenset()将集合不能随意删除和修改
set3=frozenset({1,2,3,4})
set3.add(8)
print(set3)