python字符串比较

python基础--流程控制

二次信任 提交于 2019-12-22 17:11:52
1.算数运算符 + : 数字为算术加 , 如果是字符串就是拼接 例 : print ( 1 + 2 ) # 运行结果为 3 print ( "1" + "2" ) #运行结果为 12 * : 数字相乘 , 如果是数字和字符串相乘 , 表示重复字符串的次数 例 : print ( 1 * 2 ) #运行结果为 2 print ( "你好" * 3 ) #运行结果为 你好你好你好 % : 取余 例 : print ( 5 % 2 ) #运行结果为 1 // : 取整 / 取商 例 : print ( 5 // 2 ) #运行结果为 2 ** : 取幂 / 取次方 例 : print ( 5 ** 2 ) #运行结果为 25 2.比较运算符 < , > , >= , <= , == , != 比较运算返回值为布尔值 3.赋值运算符 = : 赋值 例 : num = 1 #把1赋值给num += : 先相加再赋值 例 : a += b #相当于a=a+b -= : 先相减再赋值 例 : a -= b #相当于a=a-b 4.身份运算符 数据类型 : 基本数据类型 ( 不可变 ) , 如 : 数字 , 字符串 , 布尔值 , None 特点 : 每次内存中开辟空间储存数据 , 出现重复数据 , 不再单独开辟空间 , 使用相同地址 , 目的是为了节省空间 复杂数据类型 ( 可变 ) , 如 :

python爬虫—爬取英文名以及正则表达式的介绍

[亡魂溺海] 提交于 2019-12-22 09:21:37
python爬虫—爬取英文名以及正则表达式的介绍 爬取英文名: 一. 爬虫模块详细设计 (1)整体思路 对于本次爬取英文名数据的爬虫实现,我的思路是先将A-Z所有英文名的连接爬取出来,保存在一个csv文件中;再读取csv文件当中的每个英文名链接,采用循环的方法读取每一个英文名链接,根据每个英文名链接爬取每个链接中的数据,保存在新的csv文件当中。 需要写一个爬取英文名链接的函数、将爬取的内容保存在csv文件的函数以及读取csv文件内容的函数、爬取英文名详情页内容的函数。 表5.3.1 函数名 作用 def get_nameLink(): 爬取英文名链接 def save_to_csv(dict,filename): 将爬取的内容以字典的形式保存在csv文件 def get_WebLinkcsv(name): 读取csv文件的内容 def get_namedata(): 根据链接爬取每个英文名的具体数据 (2)爬取英文名链接 首先观察A-Z英文名的网页的内容,发现每个字母都对应一个网站,刚打开网站只会显示三个模块的英文名,每个模块30个英文名;关于一个字母的更多的英文名是根据鼠标的移动再进行动态的加载才会在网页上显示出来;但每个字母的英文名不同的网页上显示。如图: 图5.3.2(1) 经观察,每个字母的所有英文名都可以根据页数来确定,可以不用动态爬取的方法

Jumpserver代码规范

谁说胖子不能爱 提交于 2019-12-21 02:44:26
Jumpserver 项目规范(Draft) 语言框架 Python 3.6.1 (当前最新) Django 1.11 (当前最新) Flask 0.12 Luna (当前最新) Paramiko 2.12 Coco (当前最新) Django规范 尽量使用Class Base View编程,更少代码 使用Django Form 每个url独立命名,不要硬编码,同理static也是 数据库表名手动指定,不要使用默认 代码优雅简洁 注释明确优美 测试案例尽可能完整 尽可能利用Django造好的轮子 代码风格 Python方面大致的风格,我们采用pocoo的 Style Guidance ,但是有些细节部分会尽量放开 参考国内翻译 基本的代码布局 缩进 Python严格采用4个空格的缩进,任何python代码都都必须遵守此规定。 web部分代码(HTML, CSS, JavaScript),Node.js采用2空格缩进,同样不使用tab (\t)。 之所以与Python不同,是因为js中有大量回调式的写法,2空格可以显著降低视觉上的负担。 最大行长度 按PEP8规范,Python一般限制最大79个字符, 但是Django的命名,url等通常比较长, 而且21世纪都是宽屏了,所以我们限制最大120字符 补充说明:HTML代码不受此规范约束。 长语句缩进 编写长语句时,可以使用换行符(\

Python入门篇

断了今生、忘了曾经 提交于 2019-12-20 17:12:46
Python关键字 需要注意的是,由于 Python 是严格区分大小写的,保留字也不例外。所以,我们可以说 if 是保留字,但 IF 就不是保留字。 Python2.x raw_input()函数与input()函数:获取用户输入的字符串 Python 2.x 提供了一个 raw_input() 函数总会将用户输入的内容放入字符串中,因此用户可以输入任何内容,raw_input() 函数总是返回一个字符串。 input() 函数则比较怪异:要求用户输入的必须是符合 Python 语法的表达式。通常来说,用户只能输入整数、浮点数、复数、字符串等。重点是格式必须正确,比如输入字符串时必须使用双引号,否则 Python 就会报错。 1.代码块:获取用户输入的字符串 #!/usr/bin/python #encoding=utf-8 ''' @ 功能:获取用户输入的字符串 ''' msg = raw_input ( "请输入字符串:" ) print ( type ( msg ) ) print ( msg ) """ @功能:获取用户输入的数值 """ value = input ( "请输入数值:" ) print ( type ( value ) ) print ( value ) 1.运行结果 2.代码块:字符串赋值 #!/usr/bin/python #encoding=utf

python ----json数据处理

旧城冷巷雨未停 提交于 2019-12-20 03:20:59
1、什么是JSON: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。第一次接触到它是在进行服务器端接口测试的时候。现在很多服务器返回的结果都是json格式。主要是由于它比较容易解析和生成。JSON格式的数据本质上一种被格式化了的字符串。 2、Python处理JSON 用Python处理json也很简单,Python自带有json模块。可以对python对象与json字符串进行相互转换。 2.1、编码 json.dumps()把一个Python对象编,码转换成Json字符串。 举个例子: >>> import json >>> python_obj = [[1,2,3],123,123.123,'abc',{'key1':(1,2,3),'key2':(4,5,6)},True,False,None] >>> json_str=json.dumps(python_obj) >>> print json_str [[1, 2, 3], 123, 123.123, "abc", {"key2": [4, 5, 6], "key1": [1, 2, 3]}, true, false, null] 1 2 3 4 5 通过输出的结果可以看出,简单类型的python对象通过encode之后跟其原始的repr()输出结果非常相似

正则表达式的先行断言(lookahead)和后行断言(lookbehind)

我的未来我决定 提交于 2019-12-20 00:12:26
正则表达式的先行断言和后行断言一共有4种形式: (?=pattern) 零宽正向先行断言(zero-width positive lookahead assertion) (?!pattern) 零宽负向先行断言(zero-width negative lookahead assertion) (?<=pattern) 零宽正向后行断言(zero-width positive lookbehind assertion) (?<!pattern) 零宽负向后行断言(zero-width negative lookbehind assertion) 这里面的pattern是一个正则表达式。 如同^代表开头,$代表结尾,\b代表单词边界一样,先行断言和后行断言也有类似的作用,它们只匹配某些位置,在匹配过程中,不占用字符,所以被称为“零宽”。所谓位置,是指字符串中(每行)第一个字符的左边、最后一个字符的右边以及相邻字符的中间(假设文字方向是头左尾右)。 下面分别举例来说明这4种断言的含义。 (?=pattern) 正向先行断言 代表字符串中的一个位置,紧接该位置之后的字符序列能够匹配pattern。 例如对”a regular expression”这个字符串,要想匹配regular中的re,但不能匹配expression中的re,可以用”re(?=gular)”

python基础语法之【字符串常用操作】

大城市里の小女人 提交于 2019-12-17 00:51:47
其他文章: python基础语法之【基本数据类型】 字符串常用操作方法 python 字符串操作常用操作,如字符串的替换、删除、截取、赋值、连接、比较、查找、分割等 一、去空格 str.strip():删除字符串两边的指定字符,括号的写入指定字符,默认空格 str.lstrip():删除字符串左边的指定字符,括号的写入指定字符,默认空格 str.rstrip():删除字符串右边的指定字符,括号的写入指定字符,默认空格 str1 = ' hello, world! ' #左右有空格 print ( str1 . strip ( ) ) #删掉左右两侧空格 >> > hello , world! str2 = '123hello, world!123' print ( str2 . lstrip ( '123' ) ) #删除左侧123 >> > hello , world! 123 print ( str2 . rstrip ( '123' ) ) #删除右侧123 >> > 123hello , world! print ( str2 ) >> > 123hello , world! 123 #字符串是不可变类型,除非删除之后重新赋值给str2 二、按索引、切片、取值(只能取) 必须注意,因为字符串是不可变对象,无法原处修改,所以无论是索引取值还是分片操作,都会创建新字符串对象。

python3 字符串查找 效率比较

前提是你 提交于 2019-12-17 00:18:51
Python中字符串查找方式有多种,常见的有re.match/search or str.find 用一个例子来说明各种方式的效率如下: from timeit import timeit import re def find(string, text): if string.find(text) > -1: pass def re_find(string, text): if re.match(text, string): pass def best_find(string, text): if text in string: pass print timeit("find(string, text)", "from __main__ import find; string='lookforme'; text='look'") print timeit("re_find(string, text)", "from __main__ import re_find; string='lookforme'; text='look'") print timeit("best_find(string, text)", "from __main__ import best_find; string='lookforme'; text='look'") 执行结果为: 0

python170道面试题上

左心房为你撑大大i 提交于 2019-12-16 22:41:10
语言特性 1. 谈谈对 Python 和其他语言的区别 2. 简述解释型和编译型编程语言 3. Python 的解释器种类以及相关特点? 4. Python3 和 Python2 的区别? 5. Python3 和 Python2 中 int 和 long 区别? 6. xrange 和 range 的区别? 编码规范 7. 什么是 PEP8? 8. 了解 Python 之禅么? 9. 了解 DocStrings 么? 10. 了解类型注解么? 11. 例举你知道 Python 对象的命名规范,例如方法或者类等 12. Python 中的注释有几种? 13. 如何优雅的给一个函数加注释? 14. 如何给变量加注释? 15. Python 代码缩进中是否支持 Tab 键和空格混用。 16. 是否可以在一句 import 中导入多个库? 17. 在给 Py 文件命名的时候需要注意什么? 18. 例举几个规范 Python 代码风格的工具 数据类型-字符串 19. 列举 Python 中的基本数据类型? 20. 如何区别可变数据类型和不可变数据类型 21. 将"hello world"转换为首字母大写"Hello World" 22. 如何检测字符串中只含有数字? 23. 将字符串"ilovechina"进行反转 24. Python 中的字符串格式化方式你知道哪些? 25.

前端基础之JavaScript

非 Y 不嫁゛ 提交于 2019-12-16 15:24:41
JavaScript概述 1、ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript提交给国际标准化组织ECMA,希望这门语言能够成为国际标准。次年,ECMA发布262号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为ECMAScript,这个版本就是1.0版。 该标准一开始就是针对JavaScript语言制定的,但是没有称其为JavaScript,有两个方面的原因。一是商标,JavaScript本身已被Netscape注册为商标。二是想体现这门语言的制定者是ECMA,而不是Netscape,这样有利于保证这门语言的开发性和中立性。 因此ECMAScript和JavaScript的关系是,前者是后者的规格,后者是前者的一种实现。 2、ECMAScript的历史 年份 名称 描述 1997 ECMAScript 1 第一个版本 1998 ECMAScript 2 版本变更 1999 ECMAScript 3 添加正则表达式 添加try/catch ECMAScript 4 没有发布 2009 ECMAScript 5 添加"strict mode"严格模式 添加JSON支持 2011 ECMAScript 5.1 版本变更 2015 ECMAScript 6