数据类型内置方法理论
python中的每一种数据类型本身都有含有一系列的操作方法,很多内置方法都是语言自带的功能。
在python中数据类型内置方法的调用统一句式为:.句点号
代码展示:
'moon'.选择需要的内置方法
绑定字符串的变量名.字符串内置方法
name = 'moon'
print(name.upper())
str.字符串内置方法
#数据类型的内置方法比较的多 我们如果想要掌握 不要光靠死记硬背 更多时候靠的是熟能生巧
内置方法与操作-整形int
1.类型转换(将其他数据类型转换成整型)
int(其他数据类型)
代码展示:
num = '123'
num = int(num)
print(num, type(num)) # 123 int
num = 11.22
num = int(num)
print(num, type(num)) #11 int
ps:浮点型可以直接转,浮点型转整形会被直接省略小数,只保留整数部分。字符串必须满足内部是纯数字才可以
2.进制数转换
十进制转其他进制
print(bin(100)) # 0b1100100
print(oct(100)) # 0o144
print(hex(100)) # 0x64
'''
数字的开头如果是0b则为二进制 0o则为八进制 0x则为十六进制
'''
其他进制转十进制
print(int(0b1100100))
print(int(0o144))
print(int(0x64))
print(int("0b1100100", 2))
print(int("0o144", 8))
print(int("0x64", 16))
3.python自身对数字的敏感度较低(精确度低)
python这门语言其实真的一点都不厉害 主要是因为它背后有太多大佬
如果需要进准的计算需要借助于模块numpy.....
内置方法与操作-浮点型float
1.类型转换
float(其他数据类型)
代码展示:
num = '12'
num = float(num) # 12.0
print(num, type(num))
num = 11
num = float(num)
print(num, type(num)) #11.0
字符串里面可以允许出现一个小数点 其他都必须是纯数字
如果是整数,则转换类型后会自动保留1位小数 11.0
内置方法与操作-字符串str
1,类型转换
str(其他数据类型)
ps:转任意数据类型都可以转为字符串类型(只需要在前后加引号即可)
字符串支持操作:
1.引索取值
name = '阿波要努力阿,哈哈哈'
print(name[1]) # 波 引索默认从左到右 从0开始
print(name[-1]) # 哈 支持负数,负数则代表从右,尾开始
2.切片操作
name = '123456789'
print(name[0:5]) # 12345 起始位0 到位置4 顾头不顾尾原则
print(name[5:]) # 6789 起始位5 到结束 因为开始引索位5,所以对应开始就是数字6
print(name[::2]) # 13579 从开始到结束,间距为2
print(name[-1:-4]) # 错误, 因为都是从左到右显示
print(name[-4:-1]) # 678 从-4位置开始 到-1位置结束
!变量名[起始位置:结束位置:间距]!
字符串类型都支持切片操作。
3.统计字符串中字符的个数
关键词 len
phone = '123456789'
print(len(phone)) # 9 字符中一共有9个索引
4.移除字符串首尾指定的字符
关键词 strip (s坠po) 移除
name = '11moon11'
print(name.strip('11')) # moon 可以支持首位 指定的字符
print(name.strip()) # 默认 移除首位空格
print(name.lstrip('11')) # moon11 left左边
print(name.rsirip('11')) # 11moon right右边
5.切割字符串中指定的字符
关键词 split (s不雷特) 切割
name = 'moon@calvin@sun'
print(name.split('@')) # ['moon','calvin','sun']
# 切割 依据为 @ 符号,根据此符号进行切割,生成一个列表
name = 'moon calvin sun'
print(name.split()) # ['moon','calvin','sun'] 默认根据空格切割
a,b,c = name.split() #也可以对此使用解压赋值法, 先把字符串切割成了一个列表,然后列表被解压赋值
print(a,b,c) # moon calvin sun
name = 'moon@calvin@sun'
print(name.split('@',maxsplit = 1)) # ['moon','calvin@sun'] 可以指定切割数量,只切割一个@
print(name.rsplit('@',maxsplit = 1)) # ['moon@calvin','sun'] 也可以从右向左 直切一个
6.字符串更改大小写
关键词 upper(大写) 阿泼r lower(小写)
name = 'MoonGod'
print(name.upper()) # MOONGOD 全大写
print(name.lower()) #moongod 全小写
举例验证码
auth_code = 'Sjxasd'
auth_code = auth_code.lower() # 这里使所有的验证码都变为了小写字母
code1 = input('请输入验证码')
code1 = code1.lower() # 这里使用户输入的所有字母也都变成了小写字母
if code1 == auth_code :
print('登录成功')
else:
print('验证码错误')
7.判断字符串中是否是纯数字
关键词 isdigit (滴g特) 数字
num = '123222'
print(num.isdigit()) # True 判断字符串中是否是纯数字 返回的是布尔类型
num = '12322.2'
print(num.isdigit()) # False 只能是纯数字
举例限制用户只能输入数字:
username = input('请输入用户名').strip() # 这里多加了一个 去除收尾空格
if username.isdight() is False: # 判断用户输入的是否是纯数字
print('账号为纯数字哦')
else:
print('正在登陆')
8.替换字符串中指定的内容
关键词 replace 替换
name = 'moongod111'
print(name.replace('111','nnn')) # moongodnnn 使用方法进行了替换,把旧的 ‘111’替换为‘nnn’
从左往右替换指定个数内容
print(name.replace('1','n',2)) # moongod11n 这里控制了 替换 2个,把2个1替换了2个n 从左到右
9.字符串的拼接
关键词 join 拼接
name1 = 'moon'
name2 = 'god'
print(name1 + name2) # 'moongod'
如果使用 join 方法
print(''.join(['moon','god']))
name1 = 'moon'
name2 = 'god'
print(''.join([name1,name2])) # 参与拼接的数据值必须都是字符串
l1 = ['moon', 'calvin']
print('@'.join(['moon', 'calvin','sun'])) # 参与拼接的数据值必须都是字符串
10.统计指定某个字符出现的次数
关键词 count
name = 'moongodnnn'
print(name.count('n')) # 4。 使用count查找这个变量中 有多少个n
11.判断字符串的开头或结尾
关键词 startswith 开头 endswith
person = 'moon female sex'
print(person.startswith('sex')) # False 从左到右开始查询,第一个字母为m 所以错误
print(person.endswith('sex')) #True 从尾盘开始判断 数据值是否相符
# 注意这里返回来的查询结果为布尔类型
12.其他方法补充了解
res = 'helLO wORld hELlo worLD'
print(res.title()) # Hello World Hello World 所有单词首字母大写
print(res.capitalize()) # Hello world hello world 字符串第一个首字母大写
print(res.swapcase()) # HELlo WorLD HelLO WORld 反转,小写变大写,大写变小写
print(res.index('O'))
print(res.find('O'))
print(res.index('c')) # 使用 index 查找 找不到直接报错
print(res.find('c')) # 使用 find 查找找不到默认返回-1
print(res.find('LO')) # 3
字符串格式化输出
format玩法1:等价于占位符
res = 'my name is {} my age is {}'.format('jason', 123)
print(res)
format玩法2:索引取值并支持反复使用
res = 'my name is {0} my age is {1} {0} {0} {1}'.format('jason', 123)
print(res)
format玩法3:占位符见名知意
res = 'my name is {name1} my age is {age1} {name1} {age1} {name1} '.format(name1='jason', age1=123)
print(res)
format玩法4:推荐使用(******)
name = input('username>>>:')
age = input('age>>>:')
res = f'my name is {name} my age is {age}'
print(res)
代码实现:
name = 'moon'
age = '18'
print(f'您好我叫{name},今年{age}')
列表内置方法及操作
1.类型转换
list(其他数据类型)
ps:能够被for循环的数据类型都可以转成列表
print(list('moon'))
print(list((1,2,3,4,5,)))
print(list({'name':'moon','age':'18'}))
2.列表索引取值
list1 = [11, 22, 33, 44, 'moon', 55]
print(list1[2])
print(list1[-1])
print(list1[2:4])
print(list1[::2]) # 和字符串相同,起始位 结束位 步长
3.统计列表中数据值的个数
len
print(len(list1))
4.列表内数据值修改
list1[0] = '666'
5.列表尾部追加数据值
尾部追加数据值 append 引索位置添加数据 insert. 列表添加另一个列表 extend
list1 = [11, 22, 33, 44, 'moon', 55]
list1.append('666')
print(list1)
list1.insert(0,'666')
print(list1)
list2 = [888,999]
list1.extend(list2)
print(list1)
6.删除列表数据
del
del list1[0]
remove 清除某个数据 根据数据值
list1.remove('666')
pop 弹出某个数据 根据索引
list1.pop(2)
ss = list1.pop(2)
print(ss)
print(list1)
7.列表内排序
sort 升序
sort(reverse = True) 降序 # 只有纯数字列表符合
l1 = [1, 3, 2, 4, 6, 5]
l1.sort() # 改为升序
print(l1)
l1.sort(reverse=True) # 改为降序
print(l1)
8.统计列表中某个数据值出现的次数
关键词 count
l1 = [1, 3, 2, 4, 2, 5,2]
print(l1.count(2))
l1 = ['moon','moon',2,3,4,]
print(l1.count('moon'))
可变类型与不可变类型
# s1 = '$$jason$$'
# l1 = [11, 22, 33]
# s1.strip('$')
# print(s1) # $$jason$$
'''字符串在调用内置方法之后并不会修改自己 而是产生了一个新的结果
如何查看调用方法之后有没有新的结果 可以在调用该方法的代码左侧添加变量名和赋值符号
res = s1.strip('$')
'''
# ret = l1.append(44)
# print(l1) # [11, 22, 33, 44]
# print(ret) # None
'''列表在调用内置方法之后修改的就是自身 并没有产生一个新的结果'''
# 可变类型:值改变 内存地址不变
# l1 = [11, 22, 33]
# print(l1)
# print(id(l1))
# l1.append(44)
# print(l1)
# print(id(l1))
# 不可变类型:值改变 内存地址肯定变
res = '$$hello world$$'
print(res)
print(id(res))
res.strip('$')
print(res)
print(id(res))
标签:内置,name,list1,res,数据类型,moon,num,print,方法
From: https://www.cnblogs.com/moongodnnn/p/16742960.html