ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

数据类型内置方法

2022-08-12 19:01:47  阅读:147  来源: 互联网

标签:11 内置 jason name 22 list 数据类型 print 方法


1.如何理解内置方法
每个数据类型都自带一些各自独有的功能
2.如何调用内置方法
数据类型通过句点符即可调用
数据类型.内置方法
ps:数据类型可以是具体的某个数据值也可以是数据类型关键字
3.如何查看内置方法
在pycharm中会自动提示
在终端中需要按tab键 然后慢慢补全(等价于linux命令补全)

整型与浮点型的内置方法

1.int整型
1.1.类型转换:将某些数据类型转成整型
可以将字符串转成整型 但是需要注意 有特殊情况
s1 = '123'
print(type(s1), s1) # 字符串里面如果是纯数字 可以转
s2 = int(s1)
print(type(s2), s2) # 字符串里面如果是纯数字 可以转
如果不是纯数字则无法转换 会直接报错
int('hello')
1.2.进制数转换:将其他进制数转成十进制
# 十进制转其他进制数
# print(bin(100)) # 0b1100100 二进制
# print(oct(100)) # 0o144 八进制
# print(hex(100)) # 0x64 十六进制
# 其他进制转十进制数
print(int(0b1100100)) # 100
print(int(0o144)) # 100
print(int(0x64)) # 100

2.float浮点型
类型转换:将某些数据类型转成浮点型
# s1 = '123'
# print(type(s1), s1) # 字符串里面如果是纯数字 可以转自动添加.0
# s2 = float(s1)
# print(type(s2), s2) # 字符串里面如果是纯数字 可以转自动添加.0

s3 = '123.23'
print(type(s3), s3) # 字符串里面如果不是纯数字 那么只允许出现一个点号
s4 = float(s3)
print(type(s4), s4) # 字符串里面如果是纯数字 那么只允许出现一个点号

3.str字符串
3.1.类型转换:可以将所有其他数据类型转成字符串
str(任意数据类型)
3.2.常见操作
s1 = 'hello jason'
# 1.索引取值
# print(s1[0]) # h
# print(s1[-1]) # n
# 2.切片操作
# print(s1[2:5]) # llo 顾头不顾尾
# 3.间隔数\方向(默认是1 默认从左往右)
# print(s1[1:10:1])
# print(s1[:]) # hello jason
# print(s1[::]) # hello jason
# print(s1[::-1]) # nosaj olleh
# print(s1[-1:-4:-1]) # nos
# print(s1[-3:]) # son
# 4.统计字符串中字符的个数(空格也算字符)
# print(len(s1)) # 11
# 5.移除字符串首尾指定的字符
# ss = '$$jason$$'
# print(ss.strip('$')) # jason
# print(ss.lstrip('$')) # jason$$
# print(ss.rstrip('$')) # $$jason
# username = input('username>>>:')
# username = username.strip() # 括号内什么都不写 默认移除首尾的空格
'''两步合并'''
# username = input('username>>>:').strip()
# if username == 'jason':
# print('登录成功')
# else:
# print('登录失败')
# 6.按照指定的字符切割字符串
# ss = "jason|123|read"
# print(ss.split('|')) # ['jason', '123', 'read'] 结果是列表 默认全部切割
# print(ss.split('|', maxsplit=1)) # ['jason', '123|read'] 也可以自定义次数
# print(ss.rsplit('|', maxsplit=1)) # ['jason|123', 'read'] 也可以变方向
# 7.字母大小写
# res = 'JaSOn666'
# print(res.upper()) # JASON666
# print(res.lower()) # jason666
# print(res.isupper()) # False (回想之前讲的小规律 布尔值相关 变量名都会有is)
# print(res.islower()) # False
"""图片验证码忽略大小写:统一转大写或者小写 然后再比较!!!"""
# code = 'YumT8'
# print('展示给用户的看的验证码>>>:', code)
# confirm_code = input('请输入您看到的验证码>>>:').strip()
# if confirm_code.upper() == code.upper():
# print('验证码正确')
# else:
# print('验证码错误')
# 8.格式化输出 方式1 占位符 方式2 format
# format用法1:等同于占位符
# print('my name is {} my age is {}'.format('jason', 18))
# format用法2:通过索引值反复使用
# print('my name is {0} {0} my age is {1} {1}'.format('jason', 18))
# format用法3:通过关键字反复使用
# print('my name is {name} {name} my age is {age} {age}'.format(name='jason', age=18))
# format究极用法
# name = 'jason'
# age = 18
# print(f'my name is {name} my age is {age}')
# 9.判断字符串中是否是纯数字
# data = input('随便输>>>:').strip()
# print(data.isdigit())
# score = input('请输入您的成绩>>>:').strip()
# if score.isdigit():
# score = int(score)
# else:
# print('成绩只能是纯数字')
# 10.替换指定的字符
# ss = 'jason jason jason say python so easy!!! jason jason jason'
# print(ss.replace('jason', 'tony')) # tony tony tony say python so easy!!! tony tony tony
# print(ss.replace('jason', 'tony', 2)) # tony tony jason say python so easy!!! jason jason jason
# 11.拼接字符串
# print('hello' + 'world') # helloworld
# print('hello' * 2) # hellohello
# print('|'.join(['hello', 'world', 'jason'])) # hello|world|jason
# 12.标题相关
# ss = 'hello world jason JAsOn'
# print(ss.title()) # Hello World Jason 所有单词首字母变大写
# print(ss.swapcase()) # HELLO WORLD JASON jaSoN 大小写颠倒
# print(ss.capitalize()) # Hello world jason jason 首字母大写 其他全部小写
# 13.判断字符串开头或者结尾
print('jason say hello'.startswith('j')) # True
print('jason say hello'.startswith('ja')) # True
print('jason say hello'.startswith('jason')) # True
print('jason say hello'.endswith('o')) # True
print('jason say hello'.endswith('llo')) # True
print('jason say hello'.endswith('hello')) # True

4.列表list
4.1.类型转换:能够支持for循环的数据类型都可以
list('hello') # ['h', 'e', 'l', 'l', 'o']
list({'name': "jason", 'pwd': 123}) # ['name', 'pwd']
4.2.内置方法
name_list = ['jason', 'kevin', 'tony', 'jerry', 'oscar']
# 1.索引相关操作
# print(name_list[0]) # jason
# print(name_list[1:4]) # ['kevin', 'tony', 'jerry'] 顾头不顾尾(左包含右不包含)
# print(name_list[1:]) # ['kevin', 'tony', 'jerry', 'oscar']
# print(name_list[1:4:2]) # ['kevin', 'jerry']
# print(name_list[1:4:-1]) # []
# 2.统计列表中所有数据值的个数
# print(len(name_list)) # 5
# 3.增数据
# append:尾部追加(括号内无论传什么 都当成一个数据值追加)
# name_list.append('jack')
# print(name_list) # ['jason', 'kevin', 'tony', 'jerry', 'oscar', 'jack']
# name_list.append([111, 222, 333])
# print(name_list) # ['jason', 'kevin', 'tony', 'jerry', 'oscar', 'jack', [111, 222, 333]]
# insert:指定索引插入(括号内无论传什么 都当成一个数据值插入)
# name_list.insert(0, 'jasonNB')
# print(name_list)
# name_list.insert(1, [11, 22, 33, 44])
# print(name_list) # ['jasonNB', [11, 22, 33, 44], 'jason', 'kevin', 'tony', 'jerry', 'oscar']
# extend:扩展列表
# name_list.extend([11, 22, 33, 44, 55])
# print(name_list) # ['jason', 'kevin', 'tony', 'jerry', 'oscar', 11, 22, 33, 44, 55]
# res = name_list + [1, 2, 3, 4, 5, 6]
# print(res) # 不推荐使用加号扩展列表
# 4.修改数据
# name_list[0] = 'jasonNB'
# print(name_list)
# 5.移除数据
# del:关键字删除
# del name_list[0]
# print(name_list) # ['kevin', 'tony', 'jerry', 'oscar']
# pop:弹出数据
# res = name_list.pop(0)
# print(name_list) # ['kevin', 'tony', 'jerry', 'oscar']
# print(res) # jason
# remove:移除数据
# res = name_list.remove('tony')
# print(name_list) # ['jason', 'kevin', 'jerry', 'oscar']
# print(res) # None:意思是什么都没有
# 6.统计列表中某个数据值出现的次数
# l1 = [11, 22, 111, 11, 11, 11, 11, 11, 22, 11, 22, 111, 11]
# print(l1.count(11)) # 8
# 7.按照大写排序
# l1 = [22, 99, 44, 33, 11, 66, 77, 88]
# l1.sort()
# print(l1) # [11, 22, 33, 44, 66, 77, 88, 99] 默认升序
# l1.sort(reverse=True)
# print(l1) # [99, 88, 77, 66, 44, 33, 22, 11]
5.字典dict
5.1.类型转换
print(dict(name='jason', pwd=123))
5.2.常见操作
d1 = {
'name': 'jason',
'pwd': 123,
'hobby': [11, 22, 33]
}
# 1.统计键值对的个数
# print(len(d1)) # 3
# 2.按key取值(字典无法使用索引取值 因为字典是无序的!!!)
# print(d1['name']) # jason
# print(d1['xxx']) # 键不存在会直接报错 不推荐使用
# print(d1.get('name')) # jason
# print(d1.get('xxx')) # None意思是什么都没有 并且对应的布尔值时False
# print(d1.get('xxx','键不存在的情况下 可以自定义提示信息')) # 键不存在的情况下 可以自定义提示信息
# print(d1.get('pwd','键不存在的情况下 可以自定义提示信息')) # 123
# 3.修改数据(语法一致)
# d1['name'] = 'jasonNB'
# print(d1) # {'name': 'jasonNB', 'pwd': 123, 'hobby': [11, 22, 33]}
# 4.新增数据(语法一致)
# d1['age'] = 18
# print(d1) # {'name': 'jasonNB', 'pwd': 123, 'hobby': [11, 22, 33], 'age': 18}
'''3和4语法是一样的 但是有区别 如果键存在则是修改 如果键不存在则是新增'''
# 5.删除数据
# del d1['name'] # 删除键值对
# print(d1) # {'pwd': 123, 'hobby': [11, 22, 33]}
# res = d1.pop('pwd') # 弹出数据
# print(d1) # {'name': 'jason', 'hobby': [11, 22, 33]}
# print(res) # 123
# 6.常见三剑客
print(d1.keys()) # dict_keys(['name', 'pwd', 'hobby']) 一次性获取字典所有的键 结果可以看成是列表 支持for循环
print(d1.values()) # dict_values(['jason', 123, [11, 22, 33]]) 一次性获取字典所有的值 结果可以看成是列表 支持for循环
print(d1.items()) # dict_items([('name', 'jason'), ('pwd', 123), ('hobby', [11, 22, 33])]) 一次性获取键值对
6.元组
6.1.类型转换
与列表一致
6.2.常见操作
t1 = (11, 22, 33)
print(type(t1)) # <class 'tuple'>
t2 = (11)
print(type(t2)) # <class 'int'>
t3 = ('hello')
print(type(t3)) # <class 'str'>
"""
当元组内只有一个数据值的时候 逗号不能省略
小建议:以后我们在定义容器类型(内部可以存放多个数据值)的时候 如果只要一个元素 逗号加上
(11,)
[11,]
{'name':'jason',}
"""
t1 = (11, 22, 33, 44)
# 1.索引操作
# 2.统计数据值个数
# 3.元组内索引绑定值的绑定关系不能改
# t1[0] = 99 # 报错 索引绑定值的关系不能修改
"""
笔试题
t2 = (11, 22, [11, 22])
t2[-1].append(33)
上述代码运行完毕后 结果是什么???

"""
t2 = (11, 22, [11, 22])
t2[-1].append(33)
print(t2) # (11, 22, [11, 22, 33])
7.集合set
集合内数据值也是无序的!!!
去重
集合内不允许出现重复的数据 如果出现会自动去重
关系运算
共同好友 共同关注 共同点赞
f1 = {'jason', 'jerry', 'kevin', 'tony'} # 小明的好友列表
f2 = {'jack', 'jerry', 'tony', 'lili'} # 小李的好友列表
# 1.求两个人共同好友
# print(f1 & f2) # {'tony', 'jerry'}
# 2.求两个人所有的好友
# print(f1 | f2) # {'tony', 'lili', 'kevin', 'jack', 'jason', 'jerry'}
# 3.求独有好友
# print(f1 - f2) # {'jason', 'kevin'}
# print(f2 - f1) # {'jack', 'lili'}
# 4.求两个人各自独有的好友
# print(f1 ^ f2) # {'jason', 'kevin', 'jack', 'lili'}
# 5.求子集 父集(谁包含谁)
print(f1 > f2)
print(f1 < f2)
print({1, } < {1, 2, 3, 4, }) # True

标签:11,内置,jason,name,22,list,数据类型,print,方法
来源: https://www.cnblogs.com/A121/p/16581045.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有