Python基础部分:9、数据的类型和内置方法
一、数据类型内置方法理论
1、什么是数据内置方法
数据类型是用来记录事物状态的,而事物的状态是不断变化的(如:一个人年龄的增长(操作int类型) ,单个人名的修改(操作str类型),学生列表中增加学生(操作list类型)等),这意味着我们在开发程序时需要频繁对数据进行操作,为了提升我们的开发效率, python针对这些常用的操作,为每一种数据类型内置了一系列方法。
2、如何调用数据内置方法
在python中数据类型调用内置方法的统一句式为>>>:句点符
方式1:
数据值. # 数据值加句点符(句号)
方式2:
变量名. #绑定数据值的变量名加句点符(句号)
方式3:
str. # 数据类型加句点符(句号)
二、整型(int)内置方法与操作
1、类型转换
将其他类型的数据转换成整型
int(其他类型数据值)
条件:
1、浮点型可直接转(取整,小数点后弃除)
2、字符串必须满足内部全是纯整数值才可以
3、其余非数字类型无法转整型
2、进制数转换
1、十进制转其它进制数:
转二进制:
print(bin(需要转换十进制数值)) # 二进制数字0b开头
转八进制:
print(oct(需要转换十进制数值)) #八进制数字0c开头
转十六进制:
print(hex(需要转换十进制数值)) #十六进制0x开头
2、其它进制数转十进制:
二进制转十进制:
print(int(需要转换的二进制数值))
八进制转十进制:
print(int(需要转换的八进制数值))
十六进制转十进制:
print(int(需要转换的十六进制数值))
字符串类型数值进行数据转换时,需要括号内注明进制数
print(int(需要转的进制数,注明进制数类型))
三、浮点型(float)内置方法与操作
1、类型转换
float(其他类型数据值)
条件
1、整数型数据可直接转
2、字符串类型转换
1、必须是纯数字
2、数字内只可含有一个小数点
四、字符串(str)内置方法与操作
1、类型转换
关键词:str(需要转换类型的数据值)
条件:
1、可转任意类型的数据值(只需在前后加引号)
2、必须要掌握内置方法
1、索引取值
①正向取值
# 生成一个字符串
a1 = 'holl world'
# 索引取值第四位
print(a1[3])
# 输出结果
l # 输出结果
②末向取值
# 生成一个字符串
a1 = 'holl world'
# 输入负数,从末尾取值
print(a1[-3])
# 输出结果
r
2、切片操作
①正向切片
# 生成一个字符串
a1 = 'holl world'
# 切片0-3位 (顾头不顾尾)
print(a1[0:4])
# 输出结果
holl
②修改切片间隔
# 生成一个字符串
a1 = 'holl world'
# 切片0-10位,每格5位取值
print(a1[0:10:5])
# 输出结果
hw
③修改切片方向
# 生成一个字符串
a1 = 'holl world'
"""
取值区间默认从左至右
切片倒数第三个数值到倒数第一个数值
"""
print(a1[-3:-1])
# 输出结果
rl
④切片操作其他使用方法
# 生成一个字符串
a1 = 'holl world'
# 不写数字就默认全部都要
print(a1[:])
# 从索引2开始往后都要
print(a1[2:])
# 从索引0开始往后要到4
print(a1[:5])
# 默认切片所有数值,间隔两格取值一次
print(a1[::2])
3、统计字符串中字符个数
关键词:len()
使用方式:
# 生成一个字符串
a1 = 'holl world'
# 输入关键字 len(需要统计数字的变量名(包含空格),并打印
print(len(a1))
# 输出结果
10
4、移除字符串首尾指定字符
①表现方式
关键词:strip()
使用方式:
# 设置一个数据值,绑定变量名
name = '@@kangkang@@'
# 关键字 strip() ,去除变量名首尾相同字符
print(name.strip('@'))
# 关键字 lstrip() ,去除变量名左侧开头相同字符
print(name.lstrip('@'))
# 关键字 rstrip() ,去除变量名右侧结尾相同字符
print(name.rstrip('@'))
# 对应输出结果
kangkang
kangkang@@
@@kangkang
②具体用法
'''
设置一个变量名,绑定并获取用户输入
在获取用户输入后,添加去除首位指定字符关键字
strip() 括号内不填,默认去除“空格”
'''
name = input('请输入您的用户名>>>:').strip()
# 设置条件,用户输入关键字,即使首位带空格,任能通过验证
if name == 'kangkang':
print('验证通过')
5、切割字符串中指定字符
关键词:split()
使用方式:
# 设置一个字符串,用管道符(|)隔开关键字,并绑定变量名
stud_name = 'kang|zhang|zhao'
# 使用切割关键词 split() , 括号内填入分割符号
print(stud_name.split('|'))
# 输出结果 默认为列表
['kang', 'zhang', 'zhao']
1、可在关键字前加L或R,来控制切割方向
2、可在关键字后括号内输入maxsplit加数字,控制切割数量
例1:
# 从左侧开始切割,切割数量为1
print(stud_name.split('|', maxsplit=1))
# 输出结果
['kang', 'zhang|zhao']
例2:
# 从右侧开始切割,切割数量为2
print(stud_name.rsplit('|', maxsplit=1))
# 输出结果
['kang|zhang', 'zhao']
6、字符串格式化输出
```python
关键词:format()
1、字符串格式化输出类似于%s\%d占位符
2、可以索引取值,并支持反复使用
```
使用方式:
1、等价于占位符
'''
1、设置一段介绍,后方添加关键词
2、format后方括号按顺序填入需要的关键字
'''
message = 'my name is {} my age is {}'.format('kangkang', 18)
# 打印介绍
print(message)
# 输出结果
my name is kangkang my age is 18
2、索引取值
'''
1、设置一段介绍,关键字部位用大括号括住
2、介绍后方添加format关键词
3、format()括号内填入信息
4、支持反复使用,需要介绍处括号内按索引取值方式填入数字
'''
res = 'my name is {0} my age is {1} {0} {1}'.format('康康', 18)
# 打印
print(res)
# 打印结果
my name is 康康 my age is 18 康康 18
3、见名知意
'''
1、设置一段介绍,关键字部位用大括号括住并注明关键字
2、介绍后方添加format关键词
3、format()括号内按等号方式填入信息
'''
res = 'my name is {name} my age is {age}'.format(name= 'kangk', age = 18)
# 打印
print(res)
# 输出结果
my name is kangk my age is 18
4、常规用法--配合input使用
# 获取用户输入信息
name = input('请输入姓名>>>:')
age = input('请输入年龄>>>:')
age = int(age)
hobby = input('请输入爱好>>>:')
# 设置一段自我介绍,关键字部位使用{}括起来,并在括号内填入对应变量名
message = f'my name is {name}, my age is {age}, my hobby is {hobby}'
# 打印
print(message)
# 用户输入信息
请输入姓名>>>:kangkang
请输入年龄>>>:18
请输入爱好>>>:打球
# 打印结果
my name is kangkang, my age is 18, my hobby is 打球
7、大小写转换、纯文字判断
```python
关键词:
大写:upper()
小写:lower()
1、可以将转换数据大小写
2、可以将用户输入的大小写进行转换,进行统一
使用方式:
1、常规使用
# 输入一串英文字符(大小写穿插),绑定变量名
res = 'helLo woRlD'
# 使用大写转换关键词,并打印
print(res.upper())
# 使用小写转换关键词,并打印
print(res.lower())
# 输出结果
HELLO WORLD
hello world
2、input用法
# 设置验证码
code = '0aBcD'
# 设置给用户看到的验证码
print('请按图输入验证码:', code)
# 获取用户输入
confirm_code = input('请输入验证码:').strip()
# 设置条件,并使用关键词统一大小写
if confirm_code.upper() == code.upper():
print('验证码正确')
# 打印结果
请按图输入验证码: 0aBcD
请输入验证码:0abcd
验证码正确
3、判断字符串是否纯大、小写
# 用法于与上述基本一致
代码表示:
isupper() 判断字符串是否是纯大写 False
islower() 判断字符串是否是纯小写 True
4、判断字符串是否纯文字
代码表示:
isdigit() 判断字符串是否是纯文字 True/False
input使用方式
# 获取用户输入
guess_age = input('guess_age>>>:').strip()
# 判断文字是否纯数字
if guess_age.isdigit():
# 转换数字为整数类型
guess_age = int(guess_age)
else:
# 验证用书输入有误
print('您输入的有误,请重新输入')
8、替换字符串指定内容
关键词 : replace()
使用方式:
1、常规使用
# 自定义一串文字
res = 'my mane is kangkang'
# 使用关键词 在后方括号内添加需要替换的关键字,并填入重新修改的关键字
print(res.replace('kangkang', 'xiaoli'))
# 打印结果
my mane is xiaoli
2、指定替换个数
# 关键词(需要需改的,修改后的,修改的个数)
代码表现:
res = 'my mane is kangkang,kangkang'
print(res.replace('kangkang', 'xiaoli',1))
9、字符串的拼接
关键词:join()
使用方式:
# 参与拼接的数据值必须是字符串
# 输入拼接的字符,关键词,输入需要拼接的数据值库
print('|'.join(['123', '456', '789']))
# 打印结果
123|456|789
10、统计字符出现的次数
关键词:count()
使用方式:
# 在关键词后方括号内输入需要统计的字符
res = 'hello world'
print(res.count('l'))
# 打印结果
2
11、判断字符串开头或结尾
关键词:
开头:startswith()
结尾:endswith()
使用方法:
# 关键词后括号内输出猜测的字符
res = 'jason say hello'
print(res.endswith('o')) #开头
print(res.endswith('o')) #结尾
12、其他用法补充
关键词
1、title() 变量名内所有单词首字母大写
2、capitalize() 变量名内因为仅首字母有大写
3、swapcase() 变量名内所有单词大小写互换
4、index() 判断字符所在位置,仅能判断第一位 ,若无报错
5、index() 判断字符所在位置,仅能判断第一位 ,若无False
五、列表(list)内置方法与操作
1、类型转换
关键词:list(其他数据类型)
条件:
ps:能够被for循环的数据类型都可以转成列表
print(list('hello'))
print(list({'name': 'jason', 'pwd': 123}))
print(list((1, 2, 3, 4)))
print(list({1, 2, 3, 4, 5}))
2、需要掌握方法
1、索引取值
与字符串基本一致
11 = [111, 222, 333, 444, 555, 666, 777, 888]
print(l1[0])
print(l1[-1])
2、切片操作
与字符串基本一致,切片方向与字符串基本一致
11 = [111, 222, 333, 444, 555, 666, 777, 888]
print(l1[0:5])
print(l1[:])
3、数值修改
11 = [111, 222, 333, 444, 555, 666, 777, 888]
l1[0] = 123 # 0位数据值修改为123
4、统计列表数据个数
与字符串方法基本一致
关键词:len()
11 = [111, 222, 333, 444, 555, 666, 777, 888]
print(len(l1)
5、列表添加数据值
①、尾部添加
关键词:append()
11 = [111, 222, 333, 444, 555, 666, 777, 888]
l1.append(999) # 括号内填写需要插入的数据值
print(l1)
# 输出结果 [111, 222, 333, 444, 555, 666, 777, 888, 999]
②、任意位置添加
关键词:insert()
11 = [111, 222, 333, 444, 555, 666, 777, 888]
l1.insert(0, '999') # 按索引插入数值
print(l1)
# 输出结果 [999, 111, 222, 333, 444, 555, 666, 777, 888]
6、扩展列表 合并列表
关键词:extend()
# 设置两个列表,赋予变量名
a1 = [11, 22, 33]
b2 = [44, 55, 66]
# 使用关键词合并列表
a1.extend(b1)
# 输出结果
[11, 22, 33, 44, 55, 66]
7、删除列表数据
①方式一:
关键字:del
使用方法:
a1 = [111, 222, 333, 444, 555, 666, 777, 888]
del a1[0] # 按索引填写需要删除的数值
②方式二:
关键词:remove()
使用方法:
a1 = [111, 222, 333, 444, 555, 666, 777, 888]
a1.remove(444) # 填写需要删除的数值
# 特点:
1、括号内数据直接删除
③方式三:
关键词:pop()
使用方法:
a1 = [111, 222, 333, 444, 555, 666, 777, 888]
a1.pop(3) # 括号内填写索引值
# 特点:
1、按索引弹出数值
1、括号内不填写默认弹出尾部数值
2、弹出数值不会被直接删除,可设置变量名接收
8、列表排序
关键词:
1、升序:sort()
2、降序:sort(reverse=True)
使用方法:
count = [55, 33, 11, 44, 22]
count.sort() # 默认是升序
count.sort(reverse=True) # 降序
# 输出结果
[11, 22, 33, 44, 55]
[55, 44, 33, 22, 11]
9、统计列表中某个数值出现次数
关键词:count()
使用方法:
# 设置一个数据值列表,绑定变量名字
ct_ = [11, 22 ,11, 44, 11]
print(ct.count(11)) # 输入需要统计的数值
10、颠倒列表顺序
关键词:reverse()
使用方法:
# 设置一个数据值列表,绑定变量名字
ct_ = [11, 22 ,33, 44, 55]
ct_.reverse() # 设置需要颠倒的列表
# 打印结果
[55, 44, 33, 22, 11]
六、可变与不可变类型
1、可变类型
列表、集合、字典(可以进行更改,并且更改后物理地址不会发生改变)
2、不可变类型
数字、字符串、元组(不可以进行更改,更改后就是一个新的对象了,物理地址发生了变化)
练习
第一题:
data_source = ['jason|123', 'kevin|321', 'oscar|222']
count = 0
while True:
name = input('请输入您的用户名:')
password = input('请输入您的密码:').strip()
if count == 2:
break
if name == data_source[0].split('|')[0] and password == data_source[0].split('|')[1] or name == data_source[1].split('|')[
0] and password == data_source[1].split('|')[1] or name == data_source[2].split('|')[1] and password ==
data_source[2].split('|')[1]:
print('登录成功')
break
else:
print('用户名或密码错误,请重新输入')
count += 1
Python基础部分:9、数据的类型和内置方法的更多相关文章
- day05 数据基本类型及内置方法:字符串str、列表list
一:可变不可变类型 1.可变类型 值改变,id不变,说明是直接改变原值,是可变类型 2.不可变类型 值改变,id也跟着改变,说明是产生了新的值,是不可变类型 二:数字类型 1.整型Int 用途: 记录 ...
- Python基础部分:10、数据类型的内置方法和字符编码
目录 一.数据类型内置方法 1.字典dict内置方法 1.1.类型转换 2.字典必须要掌握的方法 2.1.取值方式 2.2.修改内部数据值 2.3.删除数据 2.4.统计字典中键值对个数 2.5.字典 ...
- python基础-数字类型及内置方法
--数字类型及内置方法 整型-int 用途:多用于年龄.电话.QQ号等变量 定义方法 age = 18 # age = int(18) 常用方式:多用于数学计算 # int(x)将x转换成整数,是向下 ...
- Python:数字类型和字符串类型的内置方法
一.数字类型内置方法 1.1 整型的内置方法 作用 描述年龄.号码.id号 定义方式 x = 10 x = int('10') x = int(10.1) x = int('10.1') # 报错 内 ...
- day007 列表类型、元祖类型、 字典类型、 集合类型的内置方法
目录 列表数据类型的内置方法 作用 定义方式 优先掌握的方法 需要掌握的方法 元祖类型的内置方法 作用 定义方式 优先掌握的方法(参考列表方法) 字典类型的内置方法 作用 定义方式 优先掌握的方法 需 ...
- day006 数字类型和字符串类型的内置方法
首先,为什么要有数据类型? 对于不同类型的变量,需要用不同的数据类型去描述. 数字类型的内置方法 数据类型又分为整形和浮点型.以下所述的内置方法均适用于这两个类型. 必须掌握的方法*** 数据类型有基 ...
- python基础——4(数字、字符串、列表类型的内置方法介绍)
目录 一.可变与不可变类型 二.数字类型 三.字符串类型 四.列表类型 一.可变与不可变类型 可变类型:值改变,但是id不变,证明就是在改变原值,是可变类型 不可变类型:值改变,id也跟着改变,证明产 ...
- Day3 - Python基础3 函数基本、递归函数、内置函数
本节内容 1. 函数基本语法及特性 2. 参数与局部变量 2.2. 函数变量作用域 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8.内置函数 1. 函数基本语法及 ...
- 多态 鸭子类型 反射 内置方法(__str__,__del__) 异常处理
''' 1什么是多态 多态指的是同一种/类事物的不同形态 2 为何要有多态 多态性:在多态的背景下,可以在不用考虑对象具体类型的前提下而直接使用对象 多态性的精髓:统一 多态性的好处: 1增加了程序的 ...
随机推荐
- String vs StringBuffer vs StringBuilder
String vs StringBuffer vs StringBuilder 本文翻译自:https://www.digitalocean.com/community/tutorials/strin ...
- C#基础_手动书写XML
XML文档内容: 1.文档声明2.元素=标签 文档总至少要有一个根元素3.属性4.注释 <!--注释内容-->5.CDATA区.特殊字符 <![CDATA[不想解析的内容]]&g ...
- Swift中的Result 类型的简单介绍
Swift 5引入了一个新的Result类型, 它使用枚举来处理异步函数的结果. 苹果文档对该类型的描述: A value that represents either a success or a ...
- 踩坑 Windows 服务来宿主 .NET 程序
本文所指的 .NET 程序为 .NET6 的程序.因为 .NET 的版本更新很快,所以方式.方法也有变化,所以网上搜到的方法有些也过时了.以下是最近我实践下来的一点心得(坑). 上一篇说到 不安装运行 ...
- KingbaseES 数据库Windows环境下注册数据库服务
关键字: KingbaseES.Java.Register.服务注册 一.安装前准备 1.1 软件环境要求 金仓数据库管理系统KingbaseES V8.0支持微软Windows 7.Windows ...
- JMeter测试dubbo接口总结
Jmeter 测试dubbo 接口 1. 安装JMeter 安装到/usr/local下 2. github上下载 jmeter-plugins-dubbo-x.x.x-jar-with-depend ...
- day05-线程的应用04
7.线程的应用03 7.4坦克大战5.0版 增加功能: 我方坦克在发射的子弹消亡之后,才能发射新的子弹==>拓展:发射多颗子弹怎么办,控制一次最多只能发射5颗子弹 让敌人坦克发射的子弹消亡之后, ...
- Python 第二次实验
[1] (程序设计)三位水仙花数的计算."三位水仙花数"是指一个三位整数,其各位数字的3次方和等于该数本身.例如:ABC是一个"3位水仙花数",则:A的3次方+ ...
- 一文总结高并发大数据量下MySQL开发规范【军规】
在互联网公司中,MySQL是使用最多的数据库,那么在并发量大.数据量大的互联网业务中,如果高效的使用MySQL才能保证服务的稳定呢?根据本人多年运维管理经验的总结,梳理了一些核心的开发规范,希望能给大 ...
- 微服务系列之授权认证(一) OAuth 2.0 和 OpenID Connect
1.传统架构的授权认证 传统应用架构,用户使用账号密码登录后,可以使用前端cookie存储登录状态,也可以使用后端session方式存储登录状态,小应用这么做其实很高效实用,当应用需要横向扩展时,就需 ...