对于python中的方法find的一些疑问

我们知道python中方法find是可以通过元素查找其索引的,我在一个字符串里设置了多个相同的元素具体可看下面的代码,然后使用方法find去查看d的索引,

它给我返回了0,然后我就以为如果字符串里有多个相同的元素方法find会给你返回它遇到的第一个你想要的元素的索引,可是第二次的实验却将我的理解推

翻了,第二次实验我想找到dqwd的索引,可以看出这里如果按照我第一次实验的猜想,完全可以返回给我0,可是不知道为什么它却给我返回了3,虽然索引

为3也是正确的,但是为什么不会给我返回0呢?希望各位前辈能解答我的疑问,在此表示感谢。

name=’dqwdqwdqw‘

print(name.find(‘d‘))

输出结果为:0

第二次测试

print(name.find(‘dqwd‘))

输出结果为:3

原文地址:https://www.cnblogs.com/ljqyugbl/p/12040322.html

时间: 2024-12-12 09:17:29

对于python中的方法find的一些疑问的相关文章

Python中strip方法的妙用

[开胃小菜] 当提到python中strip方法,想必凡接触过python的同行都知道它主要用来切除空格.有以下两种方法来实现. 方法一:用内置函数 #<python> if __name__ == '__main__': str = ' Hello world ' print '[%s]' %str.strip() #</python> 方法二:调用string模块中方法 #<python> import string if __name__ == '__main__

Python中__init__方法

注意1.__init__并不相当于C#中的构造函数,执行它的时候,实例已构造出来了. 1 2 3 4 5 class A(object):     def __init__(self,name):         self.name=name     def getName(self):         return 'A '+self.name 当我们执行 1 a=A('hello') 时,可以理解为 1 2 a=object.__new__(A) A.__init__(a,'hello')

python 中特殊方法简写方式

##python 中特殊方法简写方式 class Test: __call__ = lambda *args: args[1] * 2 #这里需要注意lambda的参数 会默认将实例self 加进去 __str__ = lambda self: 'that`s useful...%s' % self.__class__.__name__ t = Test() print(t) print(t(10)) 原文地址:https://www.cnblogs.com/alplf123/p/1029388

Python中关于try...finally的一些疑问

最近看Vamei的Python文章,其中一篇讲异常处理的,原本看完没啥疑惑,或许是自己想的简单了. 看到评论,一个园友的问题引起我的兴趣. 他的问题是 def func(x): try: return ++x finally: return x+1 print func(11)你觉得是几? 看到问题,觉得肯定是12啊,这有什么问题呢? 下边看看我写的例子,就明白其中的问题了. 先看这个 def f(): try: print 1 return 1 finally: print 0 return

python中defaultdict方法的使用

默认值可以很方便 众所周知,在Python中如果访问字典中不存在的键,会引发KeyError异常(JavaScript中如果对象中不存在某个属性,则返回undefined).但是有时候,字典中的每个键都存在默认值是非常方便的.例如下面的例子: strings = ('puppy', 'kitten', 'puppy', 'puppy', 'weasel', 'puppy', 'kitten', 'puppy') counts = {} for kw in strings: counts[kw]

python中__unicode__方法的使用

python中__unicode__(self):方法: __unicode()方法告诉python如何实现对象的unicode表示.如以下数据模型:class Host(models.Model):    id = models.AutoField(primary_key=True)    ip = models.CharField('IP地址', max_length=16, blank=True, null=True)    name = models.CharField('主机名称',

[小知识]Python中__call__方法 @ Python

python中的__call__方法可以把class当做函数调用.例程如下: #coding=utf-8 class A(object): def __init__(self, x): self.x = x def __call__(self, y): return self.x * y C = A(10) #C这个instance可以当做函数来调用 print C(5) # 50

Python中__new__()方法的使用和实例化

new()是在新式类中新出现的方法,它作用在构造方法init()建造实例之前,可以这么理解,在Python 中存在于类里面的构造方法init()负责将类的实例化,而在init()调用之前,new()决定是否要使用该init()方法,因为new()可以调用其他类的构造方法或者直接返回别的对象来作为本类 的实例. 如果将类比喻为工厂,那么init()方法则是该工厂的生产工人,init()方法接受的初始化参 数则是生产所需原料,init()方法会按照方法中的语句负责将原料加工成实例以供工厂出货.而 n

Python中私有方法和私有属性

1.私有方法和私有属性私有方法只能在类内部被调用,不能被对象使用私有属性只能在类内部使用,不能被对象使用 私有属性只能在类内部使用,对象不能使用,但是,我们可以通过在类内部定义公有方法对私有属性进行调用或修改,然后对象在调用这个公有方法使用.###私有属性和私有方法#########在属性名和方法名前面加上 __ class Person(object): def __init__(self): # 公有属性 self.name = "李四" #私有属性 self.__age = 18