当前位置: 首页 > article >正文

Python零基础到入门-数据类型的内置方法(1)

当我们在操作 字符串/列表要想到对字符串或者列表做一些高级的操作字符串 判断这个字符是否以 某个字符开头列表 添加元素 删除元素 修改元素 。。。官方根据上边的功能给我们提供了一些公共的接口方法【一】整数类型语法变量名整数值1强制类型转换可以将符合整数类型的字符串强制转换成整数类型num_str55 num_str_intint(num_str) print(num_str,type(num_str)) #55 class str print(num_str_int,type(num_str_int)) #55 class int2进制转换二进制、十进制、八进制、十六进制bin十进制转二进制oct十进制转八进制hex十进制转十六进制#十进制我们平常使用的数字 #二进制每个元素组成都小于2 并且 以 0b 开头 print(bin(666)) #0b1010011010 #八进制每个元素组成都小于8 并且 以 0o 开头 print(oct(666)) #0o1232 #十六进制在元素中会出现大写或小写字母 以 0x 开头 print(hex(666)) #0x29a3int 也能做类型转换 能将其他进制的结果转换为十进制print(int(0b1010011010,2)) #666 print(int(0o1232,8)) #666 print(int(0x29a,16)) #666【二】浮点数类型语法变量名浮点数值强制类型转换能够将符合浮点数格式的字符串转换成浮点数print(float(1.11)) #1.11 print(float(1.112)) #1.1121判断当前字符串是否符合整数类型格式num1b6 #bytes print(num1,type(num1)) #b6 class bytes num26 #unicode,Python 3 中不需要在字符串前加u num3四 #中文数字 num4Ⅳ #罗马数字2判断当前数字是否符合数字类型num1b6 #bytes print(num1,type(num1)) #b6 class bytes num26 #unicode,Python 3 中不需要在字符串前加u num3四 #中文数字 num4Ⅳ #罗马数字 print(num1.isdigit()) #True print(num2.isdigit()) #True print(num3.isdigit()) #False print(num4.isdigit()) #False二进制形式和字符串形式的整数类型都是整数中文汉字和罗马数字不符合整数类型3判断当前字符串print(num1.isdecimal()) #报错 print(num2.isdecimal()) #True print(num3.isdecimal()) #False print(num4.isdecimal()) #False在python中没有判断当前字符串是否是浮点数格式的方法ageinput(请输入年龄) if age.isdigit(): ageint(age) print(f当前{age}是一个合法的数字) else: print(f当前{age}不是一个合法的数字)【三】字符串的内置方法1字符串的语法变量名 “字符”优先记住的内置方法号可以进行字符串的拼接.join(可迭代类型)可迭代类型可以用for循环遍历的类型print(12) #扩充 .join(可迭代类型) #借助列表或元组 print(.join([1,2,3])) #123 #字符 print(|.join([1,2,3])) #1|2|3 print(*.join([1,2,3])) #1*2*3 print(*.join(dream)) #*r*e*a*m2字符串索引取值正向索引从 0 开始 从头到尾负向索引从 -1 开始 从尾到头print(dream[0]) print(dream[-1]) #字符串可以索引取值但不支持索引改值 namedream name[0]s print(name) #报错(3)切片按照指定位置将某部分隔离出来#dream -- re #字符串[索引] --索引取值 #字符串[索引1:索引2] -- 根据索引区间将整体某部分切离出来顾头不顾尾 print(dream[1:3]) #re #字符串[起始索引终止索引步长] --根据索引区间将整体某部分按照步长切离出来 print(dream[1:4:2]) #ra # d r e a m #-5 -4 -3 -2 -1 print(dream[-3:-1]) #ea #字符串[::-1]将整个字符串进行反转 # m a e r d # -5 -4 -3 -2 -1 print(dream[::-1]) #maerd -1步长为14计算长度len变量名print(len(dream)) #5 print(len(dream__)) #75成员运算判断某个字符是否在某个成员内 in/not in#dream --判断 d 是否在 dream中 print(d in dream) #True print(d not in dream) #False6去除字符.strip()只能去除首尾两端的特殊字符.lstrip去除左边字符.rstrip去除右边字符# 一个字符串 dream$ -- 将首尾的 $ 去除 print(dream$.strip($)) #strip 默认值是空格或者换行 data_str dream data_str_one dream dream dream print(data_str) print(data_str.strip()) print(data_str_one,len(data_str_one)) print(data_str_one.strip(),len(data_str_one.strip()))控制左右去除的位置#去除左边的特殊字符 print($dream$.lstrip($)) #dream$ #去除右边的特殊字符 print($dream$.rstrip($)) #$dream7切分字符串.split()按照指定的分隔符将字符串进行分割并且分隔符会消失namesdream|opp|oppp|hope print(names.split(|)) #[dream, opp, oppp, hope] user_pwdusername:password username,passworduser_pwd.split(:) print(fusername:--{username}) #username:--username print(fpassword:--{password}) #password:--password8遍历字符串for循环遍历、while循环用索引取值9字符串重复字符串 * 数字10大小写转换.upper()转成全大写.lower()转成全小写print(name.upper()) #USERNAME print(name.lower()) #username11首尾字符判断.startswith().endswith()print(dream[0]d) #True print(dream[-1]m) #True print(dream.startswith(d)) #True print(dream.endswith(m)) #True12格式化输出语法%s {} .format() f{a}13替换指定字符.replace()namedream #name[0]a #前面放需要被替换的内容后面放替换进去的内容 print(name.replace(d,a)) #aream14判断当前字符串是否是符合整数类型.isdigit()namedream #name[0]a #前面放需要被替换的内容后面放替换进去的内容 print(name.replace(d,a)) #aream【了解的内置方法】1查找 在字符串中查找某个字符所在的索引位置.find() 从左向右找找到一个就返回索引位置不会继续向前找.rfind() 从右往左找找到一个就返回索引位置不会继续向前找如果查找的字符在当前字符串中不存在就会返回-1# find() 从左向右查找 print(text.find(a)) # 输出: 1 (第一个a在索引1) print(text.find(n)) # 输出: 2 (第一个n在索引2) print(text.find(z)) # 输出: -1 (没找到) # rfind() 从右向左查找 print(text.rfind(a)) # 输出: 5 (最后一个a在索引5) print(text.rfind(n)) # 输出: 3 (最后一个n在索引3) print(text.rfind(z)) # 输出: -1 (没找到)index 索引index() 从左向右找找到一个就返回索引位置不会继续向前找rindex() 从右往左找找到一个就返回索引位置不会继续向前找如果需要查找的字符在当前字符串中不存在就会直接报错text banana print(text.index(a)) # 输出: 1 print(text.index(n)) # 输出: 2 print(text.rindex(a)) # 输出: 5 print(text.rindex(n)) # 输出: 3 print(text.index(z)) # 报错ValueError: substring not found #print(text.rindex(z)) # 不会执行到这里.count()print(banana.count(a)) #3 print(banana.count(n)) #23填充填充在两侧.center()#center填充的数据长度[要基于原本的数据长度进行填充]需要填充的字符 namedream print(dream.center(len(name)2,*)) #*dream* #如果填充的长度是奇数优先填充右侧然后再填充左侧 print(dream.center(len(name)3,*)) #*dream**左对齐.rjust() 使用的是右边的just右对齐.ljust() 使用的是左边的justnamedream print(name.rjust(len(name)3,-)) #---dream print(name.ljust(len(name)3,-)) #dream---4填充 0 .zfill()默认使用 0 填充至指定的长度并且是从左向右填充namedream print(name.zfill(len(name)3)) #000dream5首字母大写.capitalize()sentencemy name is dream print (sentence.capitalize()) #My name is dream6大小写反转全大写 .upper()全小写 .lower()让大写变小写让小写变大写 .swapcase()nameUserName print(name.swapcase()) #uSERnAME7.title()让整句话的每一个单词首字母大写每个单词要用空格隔开否则不生效sentencemy name is dream print(sentence.title()) #My Name Is Dream sentencemyname is dream print(sentence.title()) #Myname Is Dream【四】列表类型的内置方法1强制类型转换可以将可迭代类型转换为 列表类型print(list(dream)) #[d, r, e, a, m] print(list((1,2,3,4))) #[1, 2, 3, 4] print(list({1,2,3})) #[1, 2, 3] # 列表在强制转换字典的时候默认转换出来的是字典的键 print(list({name:dream,age:20})) #[name, age]强调列表转换成字符串以后再转回列表是没办法转回列表的data_list[1,2,3] data_strstr(data_list) print(data_str) #[1, 2, 3] data_str_listlist(data_str) print(data_str_list) #[[, 1, ,, , 2, ,, , 3, ]]2索引取值正向索引/负向索引3切片顾头不顾尾和字符串一样列表[起始索引终止索引步长]num_list[1,2,3,4,5] print(num_list[0:3]) #[1, 2, 3] print(num_list[0:3:2]) #[1, 3] print(num_list[::-1]) #[5, 4, 3, 2, 1]4计算长度 len5成员运算 in/not in 判断某个元素是否在当前列表中6向列表中添加元素方式一直接追加在结尾 .append()num_list_one[1,2,3] num_list_one.append(4) print(num_list_one) #[1, 2, 3, 4]方式二插入到指定的索引位置num_list_one[1,2,3] num_list_one.insert(0,999) print(num_list_one) #[999, 1, 2, 3, 4]方式三将整个列表合并到一起 扩展列表num_list_one[1,2,3] num_list_two[4,5,6] num_list_one.extend(num_list_two) print(num_list_one)7删除列表中的元素方式一直接按照指定的值删除指定的元素num_list_one[1,2,3] num_list_one.insert(0,999) num_list_two[4,5,6] num_list_one.extend(num_list_two) num_list_one.remove(999) print(num_list_one) #[1, 2, 3, 4, 4, 5, 6]方式二弹出指定元素#默认弹出最后一个元素 print(num_list_one.pop()) #6 print(num_list_one) print(num_list_one.pop(0)) #1 print(num_list_one) #[2, 3, 4, 5]方式三删除指定索引对应的元素num_list_one[1,2,3,4,5,6] del num_list_one[0] print(num_list_one) #[2, 3, 4, 5, 6]方式四直接将列表清空num_list_one[1,2,3,4,5,6] del num_list_one[0] print(num_list_one) #[2, 3, 4, 5, 6] num_list_one.clear() print(num_list_one) #[]8颠倒元素 .reverse()颠倒列表中的元素并影响到原来的列表num_list_one[1,2,3,4,5,6] print(num_list_one[::-1]) #[6, 5, 4, 3, 2, 1] print(num_list_one) #[1, 2, 3, 4, 5, 6] num_list_one.reverse() print(num_list_one) #[6, 5, 4, 3, 2, 1]9对列表中的元素进行排序num_list_three[1,3,4,2,8,6,4,3,9,8] # 默认排序方式是正序 print(num_list_three.sort()) #None print(num_list_three) #[1, 2, 3, 3, 4, 4, 6, 8, 8, 9] # 默认排序是倒叙 # num_list_three.reverse() #[9, 8, 8, 6, 4, 4, 3, 3, 2, 1] # print(num_list_three) num_list_three.sort(reverseTrue) print(num_list_three) #[9, 8, 8, 6, 4, 4, 3, 3, 2, 1]补充方法 .sorted(列表)num_list_three[1,3,4,2,8,6,4,3,9,8] print(num_list_three) #[1, 3, 4, 2, 8, 6, 4, 3, 9, 8] print(sorted(num_list_three)) #[1, 2, 3, 3, 4, 4, 6, 8, 8, 9]总结sort ---列表 .sort() ---没有返回值影响到原来的列表sorted---.sort(列表) --- 有返回值不会影响到原来的列表10列表遍历循环for 循环while循环

相关文章:

Python零基础到入门-数据类型的内置方法(1)

当我们在操作 字符串/列表,要想到对字符串或者列表做一些高级的操作字符串 判断这个字符是否以 某个字符开头列表 添加元素 删除元素 修改元素 。。。官方根据上边的功能,给我们提供了一些公共的接口(方法)【一】整数类型语法&…...

KDE vs直方图:7个真实数据集对比告诉你何时该用核密度估计

KDE vs直方图:7个真实数据集对比揭示核密度估计的最佳实践 在数据分析的日常工作中,我们常常需要快速理解数据的分布特征。直方图作为最基础的分布可视化工具,几乎成为每个数据分析师的第一选择。但当我第一次在电商用户行为分析中遇到双峰分…...

League-Toolkit:智能辅助驱动的英雄联盟效率提升解决方案

League-Toolkit:智能辅助驱动的英雄联盟效率提升解决方案 【免费下载链接】League-Toolkit 兴趣使然的、简单易用的英雄联盟工具集。支持战绩查询、自动秒选等功能。基于 LCU API。 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit League-Tool…...

SEO_详解SEO优化的完整工作流程与执行要点

<h2>SEO优化的重要性</h2> <p>在当前数字化时代&#xff0c;网站的可见度和流量直接关系到企业的市场竞争力。搜索引擎优化&#xff08;SEO&#xff09;作为提升网站在搜索引擎中排名的关键手段&#xff0c;其重要性不言而喻。SEO不仅能帮助企业吸引更多的自…...

别再傻傻用二维数组存大矩阵了!手把手教你用C++实现稀疏矩阵的三元组压缩(附完整代码)

稀疏矩阵高效存储实战&#xff1a;从三元组压缩到十字链表的C实现 当你在处理一个1000010000的矩阵&#xff0c;却发现其中99%的元素都是零时&#xff0c;传统的二维数组存储方式就像用集装箱运输几颗散落的珍珠——浪费了巨大的空间和运输成本。这种"稀疏"场景在科学…...

深入解析WIFI中EAP-TLS认证流程与安全机制

1. EAP-TLS认证&#xff1a;WIFI安全连接的基石 每次我们用手机连接公司或学校的WIFI时&#xff0c;系统总会弹出一个证书确认的窗口&#xff0c;这就是EAP-TLS在发挥作用。作为目前最安全的WIFI认证协议之一&#xff0c;它就像网络世界的"护照查验系统"&#xff0c;…...

软电话通话30秒自动挂断?一文讲透FreeSWITCH通话超时问题

当你满怀期待地搭建好FreeSWITCH&#xff0c;用两个软电话成功呼叫&#xff0c;却发现通话总是在30秒左右莫名其妙地中断——别急&#xff0c;这是SIP新手最常遇到的“经典Bug”。本文将为你抽丝剥茧&#xff0c;彻底解决这个问题&#xff0c;并附带其他可能引发通话异常中断的…...

机械臂+点云相机实战:手眼标定全流程避坑指南(附PCL库代码)

机械臂与点云相机手眼标定实战&#xff1a;从原理到代码的完整避坑指南 在工业自动化与机器人应用领域&#xff0c;机械臂与3D视觉系统的协同作业已成为提升生产灵活性和智能化的关键技术。其中&#xff0c;手眼标定作为连接机械臂运动学与视觉感知的桥梁&#xff0c;其精度直接…...

Vitis自定义IP编译报错?手把手教你修复Makefile路径问题(附完整代码)

Vitis自定义IP编译报错&#xff1f;手把手教你修复Makefile路径问题&#xff08;附完整代码&#xff09; 最近在Vitis中导入包含自定义IP的XSA文件时&#xff0c;不少开发者遇到了令人头疼的编译错误——"xxx.h: No such file or directory"。这个看似简单的报错背后…...

java 短信验证码接口开发面向接口编程实现

在Java企业级后端开发中&#xff0c;短信验证码是用户登录、注册、密码重置的核心身份验证方案&#xff0c;java短信验证码接口的规范化开发直接决定系统的扩展性与维护性。传统硬编码开发模式存在耦合度高、服务商切换困难等问题&#xff0c;本文基于面向接口编程思想&#xf…...

Matlab 2024b 新变化:手把手教你搞定TI C2000代码生成环境(含CCS避坑指南)

Matlab 2024b与TI C2000代码生成环境配置全指南&#xff1a;从版本差异到实战避坑 如果你是一位长期使用Matlab进行TI C2000系列芯片开发的嵌入式工程师&#xff0c;升级到2024b版本后可能会发现&#xff1a;熟悉的配置界面不见了&#xff0c;命令行里输入的命令也不一样了。这…...

2026 机器人行业发展前景与 AI 获客方案深度解析

引言&#xff1a;机器人行业的爆发式增长与获客挑战2026 年 3 月&#xff0c;全球机器人行业正处于爆发前夜。数据显示&#xff0c;2026 年全球机器人市场规模预计将达到 4000 亿元&#xff0c;较 2025 年增长 25%&#xff08;数据来自网络&#xff09;。随着具身智能技术的加速…...

保姆级教程:在NUC12Pro上配置Ego_planner无人机自主飞行系统(含D435i与Pixhawk 6C)

在NUC12Pro上构建Ego_planner无人机自主飞行系统的全流程指南 当硬件堆满工作台时&#xff0c;最令人兴奋的莫过于将它们组装成一个能自主思考的飞行系统。本文将带您完成从零搭建基于NUC12Pro、D435i深度相机和Pixhawk 6C飞控的完整解决方案&#xff0c;重点解决那些官方文档从…...

隔离变送器VS普通变送器:为什么你的PLC信号总受干扰?(实测XYS-5531抗干扰性能)

隔离变送器VS普通变送器&#xff1a;为什么你的PLC信号总受干扰&#xff1f;&#xff08;实测XYS-5531抗干扰性能&#xff09; 在工业自动化现场&#xff0c;信号干扰就像潜伏的"隐形杀手"——它不会直接摧毁设备&#xff0c;却能让控制系统频繁误动作、数据采集失真…...

超实用!学生党第一把吉他怎么选?9款“低弦距神器”深度测评与避坑指南!

大家好&#xff0c;我是深耕音乐教育与乐器选购多年的好物推荐官&#xff0c;常年和学生党打交道&#xff0c;最常被问到的问题就是&#xff1a;“预算有限&#xff0c;怎么选到好弹又耐用的吉他&#xff1f;” 其实对学生而言&#xff0c;第一把吉他无需追求高端奢华&#xff…...

从Sigmoid函数到脉冲频率:步进电机S型加减速的数学建模与C/C++实现

1. 为什么步进电机需要S型加减速 我第一次接触步进电机控制时&#xff0c;以为只要给脉冲信号就能让电机转起来。结果在实际项目中&#xff0c;电机要么启动时丢步&#xff0c;要么停止时过冲&#xff0c;把机械结构撞得砰砰响。后来才知道&#xff0c;步进电机和普通直流电机不…...

Spring Boot 集成云快充协议:充电桩接入平台完整Demo

云快充协议云快充1.5协议云快充1.6云快充协议开源代码云快充底层协议云快充桩直连桩直连协议充电桩协议云快充源码介绍云快充协议云快充1.5协议云快充1.6云快充协议开源代码云快充底层协议云快充桩直连桩直连协议充电桩协议云快充源码软件架构1、提供云快充底层桩直连协议&…...

智能高效的离线OCR解决方案:Umi-OCR从基础到进阶的全方位应用指南

智能高效的离线OCR解决方案&#xff1a;Umi-OCR从基础到进阶的全方位应用指南 【免费下载链接】Umi-OCR Umi-OCR: 这是一个免费、开源、可批量处理的离线OCR软件&#xff0c;适用于Windows系统&#xff0c;支持截图OCR、批量OCR、二维码识别等功能。 项目地址: https://gitco…...

【BoClaw教程03】BoClaw实战:打工人常用技能

博云BoClaw官方教程系列&#xff08;三&#xff09;本教程聚焦打工人日常办公高频需求&#xff0c;详细讲解 BoClaw 在桌面整理、文档检索、PPT 制作、简历筛选、销售报表处理五大场景的实操方法、操作要点及避坑技巧&#xff0c;助力高效提升办公效率。1.桌面整理&#xff1a;…...

从‘画图’到‘造芯’:模拟版图工程师必须懂的CMOS工艺那些事儿

从‘画图’到‘造芯’&#xff1a;模拟版图工程师必须懂的CMOS工艺那些事儿 当你第一次打开PDK文档&#xff0c;面对密密麻麻的设计规则表格时&#xff0c;是否感觉像在解读天书&#xff1f;作为模拟版图工程师&#xff0c;我们每天都在与纳米级的几何图形打交道&#xff0c;但…...

自然滚动的终结:Scroll Reverser如何重构输入设备交互逻辑

自然滚动的终结&#xff1a;Scroll Reverser如何重构输入设备交互逻辑 【免费下载链接】Scroll-Reverser Per-device scrolling prefs on macOS. 项目地址: https://gitcode.com/gh_mirrors/sc/Scroll-Reverser 在追求无缝人机交互的今天&#xff0c;macOS系统中输入设备…...

Ubuntu 22.04 换源+Docker安装+镜像加速

Ubuntu 22.04 换源Docker安装镜像加速 前言 本文针对 Ubuntu 22.04 LTS 系统&#xff0c;先更换国内镜像源提升下载速度&#xff0c;再完成 Docker 引擎与 Compose 插件安装&#xff0c;最后配置 Docker 国内镜像加速&#xff0c;全程无报错、可直接复制执行&#xff0c;适配 V…...

QMCDecode:解锁QQ音乐加密文件的macOS终极解决方案

QMCDecode&#xff1a;解锁QQ音乐加密文件的macOS终极解决方案 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac&#xff0c;qmc0,qmc3转mp3, mflac,mflac0等转flac)&#xff0c;仅支持macOS&#xff0c;可自动识别到QQ音乐下载目录&#xff0c;默认转换…...

计算机毕业设计springboot校园外卖系统 基于Spring Boot的高校餐饮配送服务平台 Spring Boot框架下的校园在线订餐与配送管理系统

计算机毕业设计springboot校园外卖系统n322b9 &#xff08;配套有源码 程序 mysql数据库 论文&#xff09; 本套源码可以在文本联xi,先看具体系统功能演示视频领取&#xff0c;可分享源码参考。随着互联网技术的日益成熟和普及&#xff0c;网络已经深度融入人们的日常生活&…...

《Cancer Discov》(IF: 33.3)|新型空间蛋白组和空间转录组整合流程解析肿瘤免疫微环境

空间转录组学和空间蛋白组学能分别在原位解析基因表达和蛋白功能状态。然而&#xff0c;它们各有自己独特的应用场景&#xff0c;例如空间转录组覆盖广但预测功能不直接&#xff0c;而空间蛋白组功能信号直接&#xff0c;靶向性高&#xff0c;能提供更多的有效生物学信息。如果…...

5分钟掌握精灵图智能切割:Pixelorama扩展让资源提取效率倍增

5分钟掌握精灵图智能切割&#xff1a;Pixelorama扩展让资源提取效率倍增 【免费下载链接】Pixelorama A free & open-source 2D sprite editor, made with the Godot Engine! Available on Windows, Linux, macOS and the Web! 项目地址: https://gitcode.com/gh_mirrors…...

douyin-downloader:智能化解构无水印视频批量采集的技术方案

douyin-downloader&#xff1a;智能化解构无水印视频批量采集的技术方案 【免费下载链接】douyin-downloader 项目地址: https://gitcode.com/GitHub_Trending/do/douyin-downloader 在数字内容爆炸的时代&#xff0c;如何高效获取高质量视频素材成为内容创作者、研究者…...

使用pycharm调试后端项目

本文主要解决终端工具与charm环境隔离问题&#xff0c;让终端虚拟环境与pycharm进行关联&#xff0c;简化pycharm的操作第一步 安装 UV 并创建虚拟环境&#xff08;uv工具安装步骤已经跳过&#xff0c;不知道怎么安装的找AI问&#xff09;确保系统中已安装 UV 工具。若需特定 P…...

Claude Code 工程化实战:从工具使用者到 Agent 构建者的进阶之路

Claude Code 工程化实战&#xff1a;从工具使用者到 Agent 构建者的进阶之路 声明&#xff1a; &#x1f4dd; 作者&#xff1a;甜城瑞庄的核桃&#xff08;ZMJ&#xff09; 原创学习笔记&#xff0c;欢迎分享&#xff0c;但请保留作者信息及原文链接哦&#xff5e; 摘要&#…...

告别Joplin!用MarkDownload+Obsidian打造你的网页剪藏工作流(附完整配置JSON)

从Joplin到Obsidian&#xff1a;用MarkDownload构建高效网页剪藏系统 每次在网上冲浪时遇到值得保存的内容&#xff0c;你是否也经历过这样的困境&#xff1f;收藏夹里堆满了再也找不到的链接&#xff0c;或是剪藏工具中杂乱无章的片段。作为一个长期依赖Joplin进行知识管理的用…...