基本数据类型的内置方法~

目录:

 

在日常生活中不同类型的数据具有不同的功能
eg:表格数据文件具有处理表格的各项功能(透视表 图形化 公式计算)
视频数据文件具有快进 加速等各项功能
...基本数据类型的内置方法~

 

 

1.整型int基本数据类型的内置方法~

 

 

类型转换
方式在代码中展示出来的效果就是 名字()

eg:
res = '123'
print(type(res))   结果是:字符串str


res = int(res)      转换成整型
print(type(res)) 结果是整型


int在做类型转换的时候 只能转换纯数字基本数据类型的内置方法~

 

 


int('123.123') # 报错 不识别小数点


int('tony 123') # 报错 不识别除数字以外的数据


int其实还可以做进制数转换
print(bin(100)) # 将十进制的100转换成二进制 0b1100100
print(oct(100)) # 将十进制的100转换成八进制 0o144
print(hex(100)) # 将十进制的100转换成十六进制 0x64

基本数据类型的内置方法~

 

 

0b开头为二进制数 0o开头为八进制数 0x开头为十六进制数基本数据类型的内置方法~

print(int('0b1100100', 2))   结果是: 100
print(int('0o144', 8))     结果是: 100
print(int('0x64', 16))     结果是: 100

2.浮点型float基本数据类型的内置方法~

 

 

类型转换
res = '123.23'
print(type(res))  结果是字符串str
res = float(res)  转成浮点型
print(type(res))  结果是浮点型float
print(float('123')) 整数转换出来会加小数点,即: 123.0

 

 

3.字符串str基本数据类型的内置方法~

 

 

类型转换
print(str(123))
print(str(123.21))
print(str([1, 2, 3, 4]))
print(str({'name': 'jason', 'pwd': 123}))
print(str((1, 2, 3, 4)))
print(str(True))
print(str({1, 2, 3, 4}))

所有类型的值都可以转成字符串
基本用法


res = 'hello world!'
①.索引取值
print(res[1])   返回结果是: e


②.切片操作 顾头不顾尾
print(res[1:4])     返回结果是: ell


③.步长操作
print(res[1:10])     返回结果是:ello worl
print(res[1:10:2])  返回结果是:el ol


④.索引支持负数
print(res[-1])   返回结果是:!
print(res[-5:-1])    返回结果是: orld 顾头不顾尾
print(res[-5:-1:-1])    方向冲突  没有结果


⑤.统计字符串内部字符的个数
print(len(res)) # 12


6.移除字符串首尾指定的字符 strip()
name = ' jason '
print(name, len(name))
print(len(name.strip()))    默认移除首尾的空格


name1 = '$$jason$$'
print(name1.strip('$'))   移除首尾$返回结果是: jason


print(name1.lstrip('$'))   移除左边$返回结果是: jason$$
print(name1.rstrip('$'))   移除末尾$返回结果是: $$jason

 


⑦.按照指定的字符切割字符串 split() 该方法的结果是一个列表
res2 = 'jason|123|18'
print(res2.split('|'))       移除|返回结果是: ['jason', '123', '18']
print(res2.split('|', maxsplit=1))   移除左边第一个|返回结果是: ['jason', '123|18'] maxsplit用于控制切割的次数
print(res2.rsplit('|', maxsplit=1))  移除末尾第一个|返回结果是:['jason|123', '18']


如何查看数据类型都有哪些内置方法?基本数据类型的内置方法~

 

 


句点符(.)可以查看数据类型内置方法
基本数据类型的内置方法~

 

 

⑧大小写

res = 'JasOn123 JAson'
res1 = 'jason123'


转全大写
print(res.upper())   返回结果是: JASON123 JASON
转全小写
print(res.lower())   返回结果是: jason123 jason
实际案例:图片验证码忽略大小写
思路:全部转大写或者小写再比对

判断是否是纯大写   返回结果是:True或False
print(res.isupper())
print(res1.isupper())


判断是否是纯小写
print(res.islower())
print(res1.islower())

 

判断字符串是否以指定的字符开头或者以指定字符结尾
s1 = 'jason 123 newapeman heiheihei oldgirl'

判断字符是否以指定的字符开头
print(s1.startswith('tony')) 返回结果是: False
print(s1.startswith('j'))   返回结果是: True
print(s1.startswith('jas')) 返回结果是: True
print(s1.startswith('jason')) 返回结果是: True


判断字符是否以指定的字符结尾

print(s1.endswith('oldboy')) 返回结果是: False
print(s1.endswith('l'))    返回结果是: True
print(s1.endswith('rl'))    返回结果是: True
print(s1.endswith('oldgirl')) 返回结果是: True



 ⑨格式化输出

⑨.①.与用户交互 占位符 %s %d
⑨.②.字符串内置方法 format()


第一种玩法 相当于%s占位符
s2 = 'my name is {} my age is {}'
print(s2.format('jason',18)) # my name is jason my age is 18


第二种玩法 大括号内写索引值可以打破顺序 并且可以反复使用相同位置的数据
s3 = '{1} my name is {1} my age is {0} {0} {0} {1} {1}'
print(s3.format('jason', 18))


第三种玩法 大括号内写变量名

s4 = '{name1} my name is {name1} my age is {age} {name1} {name1}'
print(s4.format(name1='jason', age=18))

占位符与format结合具体情况挑选使用!!!

 

⑩字符串的拼接

方式1 字符串相加
print('hello' + 'world') 返回结果是:helloworld


方式2 join方法


l = ['jason', 'tony', 'kevin', 'tom', 'jack']

使用+号方法:
print(l[0] + '|' + l[1] + '|' + l[2] + '|' + l[3] + '|' + l[4])

用join

print('|'.join(l))

返回结果是:jason|tony|kevin|tom|jack

 

易错题:

l1 = ['jason', 123, 'tony']


print('$'.join(l1))   返回结果是: 报错

join只能拼接字符串,123是整型。

在python中,不同的数据类型之间无法直接操作

解决方法:给123添加引号

eg:

l1 = ['jason', '123', 'tony']

 

⑪替换字符串中指定的字符

s4 = 'my name is tony tony tony my age is 18'
替换字符串中所有的tony>>>jason
print(s4.replace('tony', 'jason'))         返回结果是: my name is jason jason jason my age is 18
替换指定个数的文本
print(s4.replace('tony', 'jason', 1))     返回结果是: my name is jason tony tony my age is 18

 

⑫判断字符串中是否是纯数字

s5 = 'jason123'
print(s5.isdigit())   返回结果是: False
s6 = '123'
print(s5.isdigit())   返回结果是: True

 

以下内容了解即可

1.字体格式相关
s5 = 'my name is jason my age is 18'
print(s5.title()) # My Name Is Jason My Age Is 18 所有单词首字母大写
print(s5.capitalize()) # My name is jason my age is 18 开头的单词首字母大写
s6 = 'JaSOn iS Sb'
print(s6.swapcase()) # jAsoN Is sB 大小写互换

s7 = 'my name is jason sb sb sb somebody sb sb sb sb sone sb sone'
print(s7.find('s')) # 查看指定字符对应的起始索引值 从左往右找到一个就结束
print(s7.find('sb')) # 查看指定字符对应的起始索引值 从左往右找到一个就结束
print(s7.find('w')) # 找不到返回-1
print(s7.index('w')) # 找不到直接报错
# 统计某个字符出现的次数(记忆)
print(s7.count('sb'))


s8 = 'jason'
print(s8.center(15, '$')) # 居中展示
print(s8.ljust(15, '&')) # 左对齐 jason&&&&&&&&&&
print(s8.rjust(15, '*')) # 右对齐 **********jason

name = 'tony123'
name.isalnum() # 字符串中既可以包含数字也可以包含字母
name.isalpha() # 字符串中只包含字母



4.字符串基本数据类型的内置方法~

 

 

 

列表内一般都会存储相同数据类型的数据


类型转换 数据类型关键字(需要转换的数据)

数字不能拆分
print(list(123))       返回结果是: 报错
print(list(123.21))       返回结果是: 报错


print(list('hello'))     字符串的返回结果是: ['h', 'e', 'l', 'l', 'o']
print(list({'username': 'jason', 'pwd': 123})) 返回结果是:只出现K值 ['username', 'pwd']
print(list((11, 22, 33)))  元祖的返回结果是: [11, 22, 33]
print(list({11, 22, 33}))   集合的返回结果是: [33, 11, 22]


'''list关键字可以将支持for循环的数据类型转换成列表'''

列表修改、添加数据

name_list = [666, 'kevin', 'tony', 'jack']

①.修改值
name_list[0] = 666
print(name_list)   返回结果是: [666, 'kevin', 'tony', 'jack']

 

②.添加值
方式1 尾部追加(将括号内的数据当成一个整体追加到列表末尾)

name_list.append(666)
print(name_list)     返回结果是: ['jason', 'kevin', 'tony', 'jack', 666]
name_list.append([666, 777, 888, 999])
print(name_list)     返回结果是: ['jason', 'kevin', 'tony', 'jack', [666, 777, 888, 999]]


方式2 插入元素(将括号内的数据当成一个整体插入到索引指定位置)


name_list.insert(0, 'heiheihei')
print(name_list)     返回结果是: ['heiheihei', 'jason', 'kevin', 'tony', 'jack']
name_list.insert(2, 'hahaha')
print(name_list)     返回结果是: ['jason', 'kevin', 'hahaha', 'tony', 'jack']
name_list.insert(0, [11, 22, 33])
print(name_list)


方式3 扩展元素(相当于for循环+append操作)
name_list.extend([111, 222, 333, 444, 555])
print(name_list)     返回结果是: ['jason', 'kevin', 'tony', 'jack', 111, 222, 333, 444, 555]

l1 = [111, 222, 333, 444, 555]
l2 = [1, 2, 3, 4, 5]
l1.append(l2) # 将l2中元素追加到l1末尾
print(l1)

基本数据类型的内置方法~

 

列表删除数据基本数据类型的内置方法~

 

 

删除数据
方式1 通用删除方式
del name_list[1]           # 根据索引直接删除 del是关键字delete缩写
print(name_list)     返回结果是: ['jason', 'tony', 'jack']


方式2 remove() 括号内指定需要移除的元素值
name_list.remove('jason')
print(name_list)
print(name_list.remove('jason')) 返回结果是: None(默认不会产生实际结果


方式3 pop() 括号内指定需要弹出的元素索引值 括号内如果不写参数则默认弹出列表尾部元素
name_list.pop(1)
print(name_list)
name_list.pop()
print(name_list)
print(name_list.pop()) 返回结果是: jack

 

 

5.可变类型与不可变类型基本数据类型的内置方法~

 

 

s5 = 'my name is jason my age is 18'
print(s5.title())    打印出来的是操作之后的结果 # My Name Is Jason My Age Is 18
print(s5)       返回结果是: my name is jason my age is 18


name_list = ['jason', 'kevin', 'tony', 'jack']
print(id(name_list))
print(name_list.remove('jason'))     返回结果是:None
print(name_list)         返回结果是: ['kevin', 'tony', 'jack']
print(id(name_list))        同上述的print(id(name_list)  内存地址一样,值已经改变。
可变类型与不可变类型!!!

可变类型 >>> 列表
值改变 内存地址不变 修改的是原值
不可变类型 >>> 整型 浮点型 字符串
值改变 内存地址肯定变 其实是产生了新值

name_list = ['jason', 'kevin', 'tony', 'jack']
print(id(name_list))
name_list.append(123)  末尾增加123
print(id(name_list))    内存地址还是同print(id(name_list))

 

 

篇幅过长~

end

下次见~基本数据类型的内置方法~

 

 

 

 

上一篇:字符串、列表内置方法


下一篇:python字符串、列表进阶知识