python find()用法

案例:

### 1 ###

str = "01213456"

if str.find("23"):
    print "YES!"
else:
    print  "NO!"

### 2 ###

str = "01213456"

if str.find("23"):
    print "YES!"
else:
    print  "NO!"

上两个案例结果都为“YES!”, 非常令我吃惊,2不应该是NO!吗?

这里注意两点

1. if  str.find(‘23‘):  此时默认为  str.find(‘23‘) != 0:

2. find()函数找不到时返回为-1

经查阅得知其用法

函数原型:find(str, pos_start, pos_end)

解释:

  • str:被查找“字串”
  • pos_start:查找的首字母位置(从0开始计数。默认:0)
  • pos_end: 查找的末尾位置(默认-1)

返回值:如果查到:返回查找的第一个出现的位置。否则,返回-1

举例论证:

           1.str = "0123"
                     print str.find("2",1,-1)      #2

           2.str = "1111"
                     print str.find("1")           #0,首次出现的位置

 

时间: 2024-11-05 00:06:15

python find()用法的相关文章

Python Dict用法

Operation Result len(a) the number of items in a 得到字典中元素的个数 a[k] the item of a with key k 取得键K所对应的值 a[k] = v set a[k] to v 设定键k所对应的值成为v del a[k] remove a[k] from a 从字典中删除键为k的元素 a.clear() remove all items from a 清空整个字典 a.copy() a (shallow) copy of a 得

python with用法

@python with用法 python中with可以明显改进代码友好度,比如: [python] view plaincopyprint? with open('a.txt') as f: print f.readlines() 为了我们自己的类也可以使用with, 只要给这个类增加两个函数__enter__, __exit__即可: [python] view plaincopyprint? >>> class A: def __enter__(self): print 'in e

(转)python set 用法

转载自:http://hi.baidu.com/????_xu/blog/item/5b9650c513bd3f049d163d8b .html python的set和其他语言类似, 是一个 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和sysmmetric difference(对称差集)等数学运算. >>> basket = [’apple’, ’orange’, ’apple’, ’pear’

Python高级用法总结

Python很棒,它有很多高级用法值得细细思索,学习使用.本文将根据日常使用,总结介绍Python的一组高级特性,包括:列表推导式.迭代器和生成器.装饰器. 列表推导(list comprehensions) 场景1:将一个三维列表中所有一维数据为a的元素合并,组成新的二维列表. 最简单的方法:新建列表,遍历原三维列表,判断一维数据是否为a,若为a,则将该元素append至新列表中. 缺点:代码太繁琐,对于Python而言,执行速度会变慢很多. 针对场景1,我们首先应该想到用列表解析式来解决处理

python argparse用法总结

转:python argparse用法总结 1. argparse介绍 argparse是python的一个命令行解析包,非常编写可读性非常好的程序 2. 基本用法 prog.py是我在linux下测试argparse的文件,放在/tmp目录下,其内容如下: #!/usr/bin/env python # encoding: utf-8 import argparse parser = argparse.ArgumentParser() parser.parse_args() 测试: [emai

Python多重继承用法 Python周末学习

Python多重继承用法 Python周末学习 继承是面向对象编程的一个重要方式,通过继承,子类可以扩展父类的功能,Python也具有该特性,除此之外,Python还可以使用多重继承. 语法: class subClass(Base1,Base2) 该语法的含义是创建了一个subClass类,让它同时继承了Base1和Base2的相关特性,关于继承还有以下规则需要遵循: 1. 继承只会继承父类的方法,不能继承父类的变量: 2. 要想继承父类的变量,需要执行父类的__init__(self)方法:

python定时器用法 + 获取脚本所在绝对路径 + 定义日志格式 + shell将脚本直接启动到后

python定时器用法 + 获取脚本所在绝对路径 + 定义日志格式 的测试代码 如果用python写好一个有定时器的脚本后,如果脚本里还读了配置文件,那么配置文件路径如果写死的话,有一天要换了存放目录的话,需要修改脚本的配置文件路径,而且每次都要到脚本所在路径用 nohup 启动到后台很麻烦.用 os.path.split(os.path.realpath(sys.argv[0]))[0] 来获取文件所在的绝对路径,配置文件同样扔到和它同级,这样就可以在任意地方启动,一劳永逸~~~ 此用法站在运

python yield用法总结

从最常见的裴波那切数列说起 斐波那契(Fibonacci)數列是一个非常简单的递归数列,除第一个和第二个数外,任意一个数都可由前两个数相加得到.用计算机程序输出斐波那契數列的前 N 个数是一个非常简单的问题,许多初学者都可以轻易写出如下函数: 清单 1. 简单输出斐波那契數列前 N 个数 def fab(max): n, a, b = 0, 0, 1 while n < max: print b a, b = b, a + b n = n + 1 执行 fab(5),我们可以得到如下输出: >

python MySQLdb用法

数据库连接 连接数据库前,请先确认以下事项: 您已经创建了数据库 TESTDB. 在TESTDB数据库中您已经创建了表 EMPLOYEE EMPLOYEE表字段为 FIRST_NAME, LAST_NAME, AGE, SEX 和 INCOME. 连接数据库TESTDB使用的用户名为 "testuser" ,密码为 "test123",你可以可以自己设定或者直接使用root用户名及其密码,Mysql数据库用户授权请使用Grant命令. 在你的机子上已经安装了 Pyt

常见python正则用法实例

转~下面列出Python正则表达式的几种匹配用法: 此外,关于正则的一切http://deerchao.net/tutorials/regex/regex.htm 1.测试正则表达式是否匹配字符串的全部或部分 regex=ur"" #正则表达式 if re.search(regex, subject): do_something() else: do_anotherthing() 2.测试正则表达式是否匹配整个字符串 regex=ur"\Z" #正则表达式末尾以\Z