首页 > 其他分享 >day 05-2 数据类型(字符串)

day 05-2 数据类型(字符串)

时间:2024-03-02 16:00:33浏览次数:24  
标签:name 05 linzai 数据类型 字符串 v2 print data day

3. 字符串

字符串,我们平时会用他来表示文本信息。例如:姓名、地址、自我介绍等。

3.1 定义

v1 = "包治百病"
v2 ='包治百病'
v3 ='"包"治百病'
v4 = "包'治百病'"
V5 = """
吵架都是我的错,
因为大家打不过。
"""
# 三个引号,可以支持多行/换行表示一个字符串,其他的都只能在一行中表示一个字符串。
I

3.2 独有功能

# 基本的格式: "xxxx".功能(...)
V1 = "xxx"
v2.功能(...)

1.判断字符串是否以XX开头?得到一个布尔值

v1 = "人生就是一场豪赌,就看你敢不敢赌"
result = v1.startswith("人生")  # .startswith判断这个字符串是不是以...开头
print (result)
# 结果输出:True

v2 = input ("请输入您的地址:")
if v2.startswith("北京市") :
    print ("北京人口")
else :
    print ("非北京人口")

2.判断字符串是否以XX结尾?得到一个布尔值

v1 = 人生就是一场豪赌,就看你敢不敢赌"
result = v1.endswith("敢不敢")  # .endswith判断这个字符串是不是以...结尾
print (result)
# 结果输出:False

v2 = input ("请输入您的地址:")
if v2.endswith("村") :
    print ("农业户口")
else :
    print ("非农业户口")

3.判断字符串是否为十进制?(是否为整数)得到一个布尔值

v1 = "122234756"
result = v1.isdecimal()  # .isdecimal判断这个字符串是否为十进制,是否为整数
print (result)
# 结果输出:True

v2 = "122234756f"
result = v2.isdecimal()  # .isdecimal判断这个字符串是否为十进制,是否为整数
print (result)
# 结果输出:False

v3 = input ("第一个数字,请输入数值:")
v4 = input ("第二个数字,请输入数值:")
if v3.isdecimal() and v4.isdecimal():
    data = int(v3) + int(v4)
    print (data)
else :
    print ("请正确输入数字")

4.去除字符串两边的空格、换行符、制表符(Tab健),得到一个新的字符串

data = " lin z ai "
print (data) # 输出的结果前后和中间都有空格,结果为" lin z ai "

data1 = data.strip()
print(data1) #.strip表示将data两边的空格去掉,得到"lin z ai"

data2 = data.lstrip()
print(data2) #.lstrip表示将data左边的空格去掉,得到"lin z ai "

data3 = data.rstrip()
print(data3) #.rstrip表示将data右边的空格去掉,得到" lin z ai"

补充:括号内没有内容表示去除空格、换行符和制表符

# 案例
code = input("请输入四位验证码:")
code = code.strip()
if code == "FA9b" :
    print ("验证码正确")  # " FA9b "
else :
    print ("验证码错误")

补充:括号内有内容表示去除字符串两边制定的内容

data = "前面是一条弯曲的河流前"
data1 = data.strip("前")
print(data1) #.strip()表示将data两边的指定内容去掉,得到"面是一条弯曲的河流"

data2 = data.lstrip("前面")
print(data2) #.lstrip()表示将data左边的指定内容去掉,得到"是一条弯曲的河流前"

data3 = data.rstrip("前")
print(data3) #.rstrip()表示将data右边的指定内容去掉,得到"前面是一条弯曲的河流"

5.字符串变大写,得到一个新的字符串

name = "my name is linzai"
data = name.upper() # .upper把字符串变成大写
print(data) # MY NAME IS LINZAI
print(name) # my name is linzai

# 案例
data = input("请输入四位验证码:")
data1 = data.upper()
data2 = data1.strip()
# data2 = data.upper().strip()
if data2 == "FB89" :
    print("验证码正确")
else :
    print("验证码错误")

6.字符串变小写,得到一个新的字符串

name = "MY NAME IS LINZAI"
data = name.lower()  .lower把字符串变成小写
print(data) # my name is linzai
print(name) # MY NAME IS LINZAI

7.字符串内容的替换,得到一个新的字符串

data = "身体健康是第一位,要保护好自己的身体"
new_data = data.replace("身体", "心理")
print(data) # 身体健康是第一位,要保护好自己的身体
print(new_data) # 心理健康是第一位,要保护好自己的心理

# 案例1
video = "鸡毛飞上天.mp4"
name_video = video.replace(".mp4",".avi")
name_video1 = name_video.replace("鸡毛","梦想")
name_video2 = video.replace("鸡毛","梦想")
print(video) # 鸡毛飞上天.mp4
print(name_video1) #梦想飞上天.avi
print(name_video2) #梦想飞上天.mp4

# 案例2
content = "你是一个草包"
content = content.replace("草","**")
print (content) # 你是一个**包

8.字符串切割,得到一个新的列表

data = "linzai|正在花园里|欣赏|含蕾待放的玫瑰"
result = data.split("|")  # 根据特定字符切开之后保存在列表中,方便以后的操作
result1 = data.split("|", 1)  # 根据特定字符从左到右切几个
result2 = data.split("|", 2) 
print(data)  # linzai|正在花园里|欣赏|含蕾待放的玫瑰
print(result)  # ['linzai', '正在花园里', '欣赏', '含蕾待放的玫瑰']
print(result1)  # ['linzai', '正在花园里|欣赏|含蕾待放的玫瑰']
print(result2)  # ['linzai', '正在花园里', '欣赏|含蕾待放的玫瑰']

# 案例 判断用户名密码是否正确
info = "linzai,root"  # 备注:字符串中储存了用户名和密码
user_list = info.split(",")  # 得到了一个包含两个元素的列表["linzai, root"]
# user_list[0] 列表的第一个元素
# user_list[1] 列表的第二个元素
user = input("请输入用户名:")
pwd = input("请输入密码:")
if user == user_list[0] and pwd == user_list[1] :
    print("登录成功")
else:
    print("用户名或密码错误,登录失败")
    
# 扩展
# .split默认从左往右切,.rsplit是从右往左切

data = "linzai|正在花园里|欣赏|含蕾待放的玫瑰"
result = data.split("|")  # 默认从左往右
result1 = data.rsplit("|", 1)  # 从右往左
print(result) # ['linzai', '正在花园里', '欣赏', '含蕾待放的玫瑰']
print(result1) # ['linzai|正在花园里|欣赏', '含蕾待放的玫瑰']

# 应用场景
file_path = "123/456/789/999.mp4"
data_list = file_path.rsplit(".",1) #帮忙找出文件的扩展名
v1 = data_list[0]
v2 = data_list[1]
print(data_list) # ['123/456/789/999', 'mp4']
print(v1) # 123/456/789/999
print(v2) # mp4

9.字符串拼接,得到一个新的字符串

data_list = ["linzai","正在吃","烧饼"] #list这个列表中有三个字符串
v1 = "*".join(data_list) # 用*将上面的字符串连接起来,也可是其他的连接符
v2 = "-".join(data_list)
v3 = "".join(data_list) #可以什么都不加直接连接起来
print (v1) # linzai*正在吃*烧饼
print (v2) #linzai-正在吃-烧饼
print (v3) #linzai正在吃烧饼

10.格式化字符串,得到一个新的字符串

name = "{0}习惯干很多专业,例如有:{1}、{2}等"
data = name.format("linzai", "医生", "科学家")  # .format占位符
print(data)  # linzai习惯干很多专业,例如有:医生、科学家等

name1 = "{}习惯干很多专业,例如有:{}、{}等"
data1 = name.format("linzai", "医生", "科学家")  # .format占位符
print(data1)  # linzai习惯干很多专业,例如有:医生、科学家等

name2 = "{name}习惯干很多专业,例如有:{v1}、{v2}等"
data2 = name2.format(name="linzai",v1="医生",v2="科学家") # .format占位符
print (data2) # linzai习惯干很多专业,例如有:医生、科学家等

11.字符串转化成字节类型

data = "姐姐" # unicode,字符串类型

v1 = data.encode('utf-8') # utf-8,字节类型
v2 = data.encode('gbk') # gbk,字节类型

print (v1) # b'\xe5\xa7\x90\xe5\xa7\x90'
print (v2) # b'\xbd\xe3\xbd\xe3'

12.将字符串内容居中,居左和居右

data = "林妹妹"
v1 = data.center(20,"*") # 居中字符串,然后两边用*凑成20个字符
v2 = data.ljust(20,"-") # 字符串居左,然后两边用-凑成20个字符
v3 = data.rjust(20,"&") # 字符串居右,然后两边用&凑成20个字符
print (v1) # ********林妹妹*********
print (v2) # 林妹妹-----------------
print (v3) # &&&&&&&&&&&&&&&&&林妹妹

13.用 zfill 自动填充0

data = "林妹妹"
v1 = data.zfill(10) # .zfill自动将字符串在前面填充0,使其长度为10
print (v1) # 0000000林妹妹

# 应用场景:处理二级制
num = "101"
v2 = num.zfill(8) # 将二进制凑成制定的八位
print (v2) #00000101

标签:name,05,linzai,数据类型,字符串,v2,print,data,day
From: https://www.cnblogs.com/linzaidehouhuayuan/p/18048728

相关文章

  • AP8P059 PIR 人体感应太阳能 LED 灯控制芯片
    概述AP8P059是一款集成低压LDO、光控、充电控制、过充保护、欠压保护、PIR感应、延时为一体的人体感应太阳能LED灯控制芯片,只需要很少的外接元件,适用于锂电池供电的PIR人体感应LED灯具的应用。外置的一级带通增益放大器便于客户调整感应灵敏度,可与多个品牌PIR传感器匹配,进行......
  • 代码随想录算法训练营day11 | leetcode 20. 有效的括号、1047. 删除字符串中的所有相
    目录题目链接:20.有效的括号-简单题目链接:1047.删除字符串中的所有相邻重复项-简单题目链接:150.逆波兰表达式求值-中等题目链接:20.有效的括号-简单题目描述:给定一个只包括'(',')','{','}','[',']'的字符串s,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右......
  • 射频信号模块-6GHz丨SC5505A SC5506A
    产品简介:输出信号频率25MHz到6GHz低残余相位噪声在10kHz偏置达到-117dBc/Hz高1GHz载频更多信息请加weixin-pt890111获取 SC5506A和SC5505A射频信号源可用作多个单级下变频器或双级下变频器的LO信号源。由于其低杂散成分和低相位噪声,它们是快速DAC和ADC应用的理想选择,尤其是......
  • SC5360B丨9.05至9.55 GHz X波段双通道RF下变频器
    产品简介频率范围:9.05GHz至9.55GHz,信号带宽40MHz,噪声系数典型值为4.8dB更多信息请加weixin-pt890111获取 SC5360B是一款9.05至9.55GHz双通道双级转换超外差下变频器,集成了本地振荡器(LO),可提供卓越的性能。初设计用于EW,它可以满足X波段雷达系统,通信系统,光谱监测系统和频......
  • SC5405A SC5406A丨3.9 GHz射频上变频器
    产品简介频率范围:1MHz至3.9GHz,动态范围>150dBc,输出电平-100dBm至17dBm更多信息请加weixin-pt890111获取SC5405A和SC5406B是三级高动态范围超外差上变频器。设计用于将低频宽带IF信号转换为更高的RF信号,这两个模块具有与直接转换器件相媲美的3阶线性度和噪声性能,但没有......
  • SC5305A SC5306A丨3.9 GHz RF下变频器
    产品简介:频率范围:1MHz至3.9GHz,测量灵敏度-160dBm/Hz,内部前置放大器更多信息请加weixin-pt890111获取SC5305A和SC5306B是三级超外差RF下变频器,可在单级转换中提供卓越的镜像抑制性能。这两个模块设计用于满足苛刻的应用,如电缆调制解调器测试,软件无线电开发和频谱监测,具有......
  • zabbix-server启动后没有10051端口,web端报错
    1、登入zabbixweb端,报错信息如下 2、登入服务器上查看zabbix-server、zabbix-agent2、apache2等服务都正常运行 3、检查端口情况,发现apache2---80正常、zabbix-agent2---10050正常,只有zabbix-server没有端口信息(图一也是细节那栏也没有localhost:10051) 4、查看zab......
  • 代码随想录算法训练营第三十三天 | 135. 分发糖果, 134. 加油站, 1005.K次取反后最大化
      1005.K次取反后最大化的数组和 已解答简单 相关标签相关企业 给你一个整数数组 nums 和一个整数 k ,按以下方法修改该数组:选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。重复这个过程恰好 k 次。可以多次选择同一个下......
  • day51 动态规划part8 代码随想录算法训练营 139. 单词拆分
    题目:139.单词拆分我的感悟:背包最后一part,不错!!这题不好,不写了。理解难点:状态转移方程如何写听课笔记:首次代码及思考过程:classSolution:defwordBreak(self,s:str,wordDict:List[str])->bool:#可以用多次-->完全背包#物品是worDict集......
  • 数据类型
    当然,我会帮你整理这些Python代码并转化为Markdown格式的笔记。以下是你的Markdown笔记:Python数据类型1.列表(List)列表是Python中最基本的数据结构之一,它是有序的元素集合,每个元素都可以通过索引进行访问和修改。#定义列表listvar=[98,6.9,True,12-90j,"赵万里"]#......