python(day017——字符串3)

SketchUp实体工具实战:5分钟学会用‘减去’和‘剪辑’命令制作一个带凹槽的烟灰缸 本文详细介绍了SketchUp实体工具中‘减去’和‘剪辑’命令的实战应用,通过制作带凹槽的烟灰缸案例,解析布尔运算的核心差异与操作技巧。文章包含从基础建模到高级故障排除的全流程指导,帮助用户快速掌握三维建模中的实体工具应用,提升设计效率。 阅读详情

1.字符串判断

>>> s="你好"
>>> type(s)
<class 'str'>
>>> isinstance(s,(str,bytes))
True

>>> def add(a,b):
...     if (not isinstance(a,str))  or (not isinstance(b,str)):
...         return None
...     return a+b
...
>>> print(add(1,"hello"))
None
>>> print(add("hello","world"))
helloworld

bytes:用于网络传输。

>>> s=b"abc"
>>> type(s)
<class 'bytes'>
>>> s="你好"
>>> s=s.encode("gbk")
>>> type(s)
<class 'bytes'>
>>> s=s.decode("gbk")
>>> type(s)
<class 'str'>

2.转义字符

>>> s="ab\'c\"de"
>>> print(s)
ab'c"de
>>> s="ab\'c\"\\de"
>>> print(s)
ab'c"\de

#原意输出,加r
>>> path="e:\test.txt"
>>> print(path)
e:      est.txt
>>> path=r"e:\test.txt"
>>> print(path)
e:\test.txt
>>> path="e:\\test.txt"
>>> print(path)
e:\test.txt

>>> s="""1
... 2
... 3
... 4
... 5
...
... "
...
... ""
... """
>>> s
'1\n2\n3\n4\n5\n\n"\n\n""\n'
>>> print(s)
1
2
3
4
5

"

""
>>> class P():
...     def __str__(self):
...         return "str"
...     def __repr__(self):
...         return "repr"
...
>>> p=P()
>>> print(p)
str
>>> repr(p)
'repr'
>>> p
repr

3.字符串运算

>>> s="hello "
>>> s1="world"
>>> s+s1
'hello world'
>>> s*10
'hello hello hello hello hello hello hello hello hello hello '
>>> s[1]
'e'
>>> s[7]  #索引不可以越界
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: string index out of range
>>> s[1:9]  #切片可以越界
'ello '
>>> s[5::-2]
'fdb'
>>> s[-1::-2]
'fdb'
>>> s[::-2]
'fdb'
>>> "a" in s
True
>>> "as" in s
False

4.模板字符串

>>> print("name is %s"  % "Lily")
name is Lily
>>> print("name is %s"  % "XiaoMing")
name is XiaoMing
>>> print("name is %d"  % 123)
name is 123
>>> print("name is %E"  % 123)
name is 1.230000E+02
>>> print("name is %c"  % 123)
name is {

%s:都可以

%d:digit,传入整数

%f:小数,(eg:%.2f,保留两位小数,4舍6入5看齐,奇进偶不进)

#其他字符串格式化方式
>>> from string import Template
>>> s=Template("Name is ${key1} and ${key2}")
>>> print(s.substitute(key2="Lily" ,key1="Xiaoming"))
Name is Xiaoming and Lily

字符串常用函数

1.strip():用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。

>>> s="         boy boy     "
>>> s.strip()
'boy boy'
>>> s="         boy boy****"
>>> s.strip("*")
'         boy boy'
>>> s="**boy boy****"
>>> s.rstrip("*")
'**boy boy'

2.lower(),upper(),swapcase(),capotalize():大小写互换

>>> "AAbb".lower()
'aabb'
>>> "AAbb".upper()
'AABB'
>>> "AAbb".swapcase()  #互换
'aaBB'
>>> "lily".capitalize()  #首字母大写
'Lily'

string包里的capwords():每个首字母大写 = title()

>>> "abc def gh".title()
'Abc Def Gh'
>>> import string
>>> string.capwords("abc def gh")
'Abc Def Gh'

3.string包常用函数

>>> string.ascii_letters
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> string.ascii_lowercase
'abcdefghijklmnopqrstuvwxyz'
>>> string.ascii_uppercase
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> string.digits
'0123456789'
>>> string.punctuation
'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
>>> string.whitespace
' \t\n\r\x0b\x0c'

4.ljust()、rjust():返回一个原字符串左/右对齐,并使用空格填充至长度 width 的新字符串。如果指定的长度小于字符串的长度则返回原字符串。

center():居中

zifll():在右对齐,不足部分用0补足

>>> "abc".ljust(8,"*")
'abc*****'
>>> "abc".ljust(2,"*")
'abc'
>>> "abc".rjust(5,"*")
'**abc'
>>> "abc".center(5,"*")
'*abc*'
>>> "hello".zfill(20)
'000000000000000hello'

5.find():检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1。

  • str.find(str, beg=0, end=len(string))

>>> "hello world".find("l")  #只找一次
2
>>> "hello world".find("l",5)  #指定位置
9
>>> "hello world".find("e",5)  #没找到返回-1
-1
>>> "hello world".find("e",1,5)
1
>>> "hello world".find("e",2,5)
-1

如果想找多个,可以通过正则的方式。

>>> import re
>>> re.findall("mnz","hello mnz worldmnz")
['mnz', 'mnz']  
#找到,但是没有返回位置

def find_all(s,dest_str):
    """
    用result列表储存所有找到的字符串位置
    求dest_str长度:length
    通过坐标遍历s
       判断当前位置取切片,start:start+length==dest_str
       把当前坐标放到一个result的列表中
       需要将当前的坐标跳转到当前坐标+length位置,继续
    """
    result=[]
    start=0
    length=len(dest_str)
    while start<len(s):
        if s[start:start+length]== dest_str:
            result.append(start)
            start+=length
        else:
            start+=1
    return result

print(find_all("aaa aaa jifeaaa","aaa"))


#结果:[0, 4, 12]

6.index():该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。

>>> "hello world".index("x")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: substring not found
>>> try:
...     "hello world".index("x")
... except:
...     print("查找内容不存在")
...
查找内容不存在

7.rfind() :返回字符串最后一次出现的位置,如果没有匹配项则返回-1。

rindex()同上,找不到抛异常

>>> "hello world hello lily hello".rfind("hello")
23

 

 

 

kali破解wifi之airmon-ng 工具利用 ...... 阅读详情

相关推荐

Prompt Airlines CTF通关实战:从提示词注入到多模态攻击的AI安全攻防演练

提示词注入(Prompt Injection)是当前大语言模型(LLM)应用面临的核心安全威胁之一,其原理在于攻击者通过精心构造的用户输入,覆盖或绕过系统预设的指令,从而操控模型行为。这种攻击手法的技术价值在于揭示了AI系统在理解与执行指令时存在的逻辑边界模糊性,可能导致数据泄露、越权访问等严重风险。在应用场景上,从基础的客服对话到结合视觉识别的多模态系统,都可能成为攻击面。本文以一场名为“Prompt Airlines CTF”的实战挑战为例,深入剖析了包括指令遗忘、上下文注入、工具调用滥用及多模态提示注

aodan5477的博客 518

python基础知识(三)之字符串常用操作

1、查询 (1)find(),rfind() (2)index(),rindex(),count() 2、分隔 (1)split(),rsplit() (2)partition(),rparttion() 3、连接 (1)join() 4、大小写 (1)lower(),upper() (2)capitalize(),title(),swapcase() 5、替换 (1)...

Qy_sfsh的博客 415

ubuntu安装glibc

VSCode 在ubuntu下调试无法打开libc-start.c raise.c等1. 安装glibc2. launch.json中添加路径映射3. 调试 1. 安装glibc apt install glibc-source cd /usr/src/glibc/ sudo tar -xvf glibc-[VERSION].tar.xz 2. launch.json中添加路径映射 "sourceFileMap": { "/build/glibc-S7xCS9": "/usr/src/glib

wq_0708的博客 3万+

Python字符串的zfill函数

目录 zfill的功能 zfill的用法 zfill 的注意事项 zfill的功能 为字符串定义长度,如不满足,缺少的部分用0填补 zfill的用法 用法:newstr = string.zfill(width) 参数:width新字符串希望的宽度 In [14]: name = 'insane' In [15]: new_name = name.zfill(10) In [16]: print(new_name) 0000insane zfill的注意事项 与字符串的字符无关 如果定义长度

Insane_Loafer的博客 8193

【数据分析与挖掘实战】金融风控之贷款违约预测详解1(有代码和数据集)

金融风控一.题目理解1.1.题目概况1.2数据概况1.3预测指标二.数据来源三.查看数据四.分类指标计算示例4.1混淆矩阵4.2准确度4.3precision(精确度),recall(召回率),f1-score4.4P-R曲线4.5ROC曲线4.6AUC曲线4.7KS值五.数据分析5.1基本信息5.2查看数据集中特征缺失值,唯一值等5.3查看特征的数值类型有哪些,对象类型有哪些5.3.1数值连续型变量分析5.3.2非数值类别型变量分析5.3.3总结:5.4变量分布可视化5.4.1单一变量分布可视化 更新中~

m0_49263811的博客 1万+

家用扫地机器人实物拆解报告-从顶盖到每一颗螺丝 · 逐层拆解旗舰扫拖一体机器人

2026年旗舰扫拖机器人拆解报告:采用D形机身设计,主机重4.5kg,基站重12kg。核心配置包括RK3588S+STM32H743双处理器、8颗21700电池、LDS激光雷达和双摄像头+结构光导航系统。创新设计亮点:锥形滚刷自动排毛发、活水循环拖地系统、基站集成450W强力集尘和自动上下水模块(带三重防漏保护)。整机采用模块化设计,关键部件均支持快速更换,在密封性、防呆设计和降本增效方面展现出成熟的工程智慧。

智能硬件研发,欢迎交流 519

python3字符串总结

目录 字符串的分类 普通字符串 原始字符串 字节字符串 字符串的基本操作 通用的操作 通用操作 字符串特点 python中的转义字符 字符串运算 字符串格式化 字符串格式化符号 字符串格式化字典 字符串格式化元组 注意事项 简单转换 字段宽度 精度 字符串方法 字符串基本方法 字符串方法作用分类 字符串连接 字符串搜索 字符串的替换 字符串分割 ......

u012562727的博客 1362

Debezium报错处理系列之二十八: Expiring 1 record(s) for test-ts-0:120001 ms has passed since batch creation

Debezium报错处理系列之二十八: Expiring 1 record(s) for test-ts-0:120001 ms has passed since batch creation

zhengzaifeidelushang的博客 3290

Python 字符串 zfill() 方法

Python有一组可以用于字符串的内置方法。Python 字符串操作常用操作,如字符串的替换、删除、截取、赋值、连接、比较、查找、分割等。本文主要介绍Python 字符串 zfill() 方法 原文地址:Python 字符串 zfill() 方法 ...

亮亮的专栏 515

Swin Transformer 与 CNN 结合实现图像分类

Swin Transformer 与 CNN 结合实现图像分类。(含swin transformer 结构讲解,cnn网络搭建,代码)

这里是Mae。 5027

详解FreeRTOS:FreeRTOSConfig.h系统配置文件(拓展篇—1)

FreeRTOS的系统配置文件为FreeRTOSConfig.h,在配置文件中可以完成FreeRTOS的裁剪和配置,这是非常重要的一个文件,本篇博文就来讲解这个文件。

不脱发的程序猿 1547

Python练习宝典:Day 3 - 选择题 - 字符串与正则表达式、基础练习补充

Python练习宝典:Day 3 - 选择题 - 字符串与正则表达式、基础练习补充

XAMO Lab|代码、调试与复盘笔记 2089

c#仿热血江湖

Int32_1 = (int) table.Rows[i]["FLD_初级附魂"],Int32_2 = (int) table.Rows[i]["FLD_中级附魂"],Int32_3 = (int) table.Rows[i]["FLD_是否绑定"],Int32_0 = (int) table.Rows[i]["FLD_进化"],Form1.smethod_1(2, "加载百宝阁物品----没有百宝阁数据");Form1.smethod_1(2, "加载物品商店----没有物品数据");

weixin_42132177的博客 143

Day017: 函数的定义与调用

在 Python 编程中,函数是一种非常重要的概念。它是一种可重用的代码块,用于执行特定的任务。通过定义和调用函数,可以使代码更加模块化、可读性和可维护性更高。本文将详细介绍 Python 中函数的定义与调用,帮助你更好地理解和使用函数。

u014481728的博客 1302

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

<LeetCode天梯>Day017 字符串中的第一个唯一字符(哈希表+find&rfind) | 初级算法 | Python

????作者简介:大家好,我是车神哥,府学路18号的车神???? ????个人主页:应无所住而生其心的博客_府学路18号车神_优快云博客 ????点赞➕评论➕收藏 == 养成习惯(一键三连)???? ????本系列主要以刷LeetCode(力扣)网站的各类题为标准,实现自我能力的提升为目标⚡ ⚡希望大家多多支持????~一起加油 ???? 专栏《LeetCode天梯》 周四,xdm,北京今天又热起来了还,天气变化太快了,每天抢饭,食堂吃够了呀!疫情依旧反复,大家带好口罩啊~ 继续继续,来,今天和车神

车手只需要车和手,压力来自轮胎 508

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

入门学习-Python-小甲鱼学习资料-Day017-函数:Python的乐高积木

根据视频自己练习 : 课后练习题 测试题答案: 你有听说过DRY吗? DRY是程序员们公认的指导原则:Don’t Repeat Yourself. 快快武装你的思维吧,拿起函数,不要再去重复拷贝一段代码了! 都是重复一段代码,为什么我要使用函数(而不使用简单的拷贝黏贴)呢? 使用函数: 0) 可以降低代码量(调用函数只需要一行,而拷贝黏贴需要N倍代码) 可以降低维护成本(函数只需修改d...

seven1levin的博客 303

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Python脱产8期 Day017 2019/5/6

一 跨文件夹导入模块(要导入模块的文件与模块不在同一个文件夹下) 1.必须满足:在导如模块中的.语法左侧必须为文件夹,不能是其他的东西。 2.例子: # 1.如果a文件夹所在目录在环境变量中,a文件夹中的ma模块可以被以下2种方式导入import a.ma | from a import ma # 2.如果a文件夹所在目录在环境变量中,a文件夹中的b文件夹的mb模块可以被以下2种方式...

weixin_34107739的博客 89

Python期末复习题:字符串与产生随机数

有关python字符串与产生随机数期末复习题。

北天的博客 1662

PYTHON 基础-DAY2 20210401

目录014 链式赋值、系列解包赋值、常量015 内置数据类型-基本算术运算符016 整数017 浮点数018 时间表示019 多点坐标020 布尔值021同一运算符-整数缓存问题022-029 字符串022 unicode字符集、三种创建字符串方式、len()023 转义字符、字符拼接、字符串复制、input()输入024 str()、[]提取字符、replace()替换、内存分析025 切片slice操作、逆序026 split()分隔、jion()合并、join()效率测试027 驻留机制、内存分析、字

weixin_47442524的博客 172

Python学习--day 03

Python--day 03012.第一个python程序013.介绍命名规则014.变量 012.第一个python程序 013.介绍命名规则 014.变量

qinshimingyue27的博客 156

python 100例python 3.6.8

python 100例例题001例题002 例题001 """ 题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。 """ for i in range(1, 5): for j in range(1, 5): for k in range(1, 5): if (i != j) and (i != k) and (k !=

xiaolipanpan的博客 1665

day017-面向对象

1,方法 1)对象方法 怎么定义:直接定义在类中的函数 怎么调用:通过对象调用 特点:有默认参数self,self在调用的时候不用传参,系统自动将当前对象传给self 什么时候用:如果实现函数的功能需要对象属性就使用对象方法(对象方法中的self可以用来提供需要所有的对象属性) 2)类方法 怎么定义:在类中定义函数前加装饰器@classmethod 怎么调用:通过类调用 特点:自带参数cls,cls在调用的时候也不需要传参,系统会自动将当前类传给cls(谁调用就指向谁) 什么时候用:实现函数功能在不需要对象

lijianmingweibo的博客 106

从零自学Python:day04

数据类型 Number(数字) 在day02中有讲过数字类型 Python中有四种数据类型 整数、浮点数、布尔数、复数 ( int、float、bool、complex) 在Python2及其他语言中有长整型(long)的概念 不过在Python3中不论长短统一称为整型(int) 像大多数语言一样,数值类型的赋值和计算都是很直观的。 判断类型 判断变量的值是何种数字类型的方法: 1.type(变量名) a, b, c, d = 20, 5.5, True, 4+3j print(type(a), ty

weixin_48706479的博客 200

python之路day5_Python之路,day5-Python基础

for#列表生成式1 data = [1,2,3,4,5,6,7]23 #####列表生成式4 #data = [i+1 for i in data]56 data = [i*2 if i>5 else i for i indata]78 print(data)91011 data = [i//2 if i>4 else i for i indata]1213 print(data)1...

weixin_39876650的博客 101

小黑day0前往乌鲁木齐,去大巴扎放开胃口,day1天山天池大口呼吸,驱车五彩滩被小咬蚊子折磨的痛苦不堪的leetcode之旅:剑指 Offer II 017. 含有所有字符的最短字符串

加油小黑,继续刷题

qq_37418807的博客 236

lys学python:Day1

前言 当你看到这篇文章的这一刻,表示你要开始学python了,你下定决心了开始学习了吗 我也没有学过python,所以这次可以一起学 今天先学习number和string这两个数据类型、if/else语句,如何从键盘获得数据 今天之后会有一个小作业,编写时要记得养成规范的编码习惯 由于篇幅有限,我提到的知识点你可以从网上找资料深入学习 (一)python 编码规范 标识符 标识符是声明的变量名字,...

weixin_43430640的博客 309
上一篇: python(day016——元祖、字典)
下一篇: python(day018——字符串4)
王总总
博客等级 码龄8年 2粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值