python字符串比较

python小数据池,代码块的最详细、深入剖析

泪湿孤枕 提交于 2020-03-21 04:30:48
一,id,is,==   在Python中,id是什么?id是内存地址,那就有人问了,什么是内存地址呢? 你只要创建一个数据(对象)那么都会在内存中开辟一个空间,将这个数据临时加在到内存中,那么这个空间是有一个唯一标识的,就好比是身份证号,标识这个空间的叫做内存地址,也就是这个数据(对象)的id,那么你可以利用id()去获取这个数据的内存地址: name = '太白' print(id(name)) # 1585831283968 那么 is 是什么? == 又是什么? == 是比较的两边的数值是否相等,而 is 是比较的两边的内存地址是否相等。 如果内存地址相等,那么这两边其实是指向同一个内存地址。 可以说如果内存地址相同,那么值肯定相同,但是如果值相同,内存地址不一定相同。 二,代码块。 根据官网提示我们可以获知: 根据提示我们从官方文档找到了这样的说法: A Python program is constructed from code blocks. A block is a piece of Python program text that is executed as a unit. The following are blocks: a module, a function body, and a class definition. Each command

python基础 day3

被刻印的时光 ゝ 提交于 2020-03-20 23:28:07
Day3笔记 1.基础数据类型 整数(int) ,字符串(str),布尔值(bool),列表(list),元组(tuple),字典(dict),集合(set). int:数字:主要用于运算。1 ,2,3... bool:判断真假:True, False. str:简单少量的储存数据,并进行相应的操作。name = 'alex', tuple:只读,不能更改。(1,'alex') list:大量有序数据,[1,'ses',True,[1,2,3],{'name':'jinxin'}] dict:大量数据,且是关联性比较强的数据 {'name':'jinxin','age':18,'name_list':['张三','李四']} set:交集、并集、差集 int 主要用于运算 二进制转化为十进制 # 0001 1010转化为十进制 b = 1 * 2**4 + 1 * 2**3 + 0 * 2**2 + 1 * 2**1 + 0 * 2**0 print(b) int # int # bit_length 有效的二进制的位数 i = 4 print(i.bit_length()) 数据类型之间的转换 # int <————> str #字符串必须是整数时才能转换成int i = 4 print(str(i)) i = '4' print(int(i)) # str <————>

python基础学习day6

不问归期 提交于 2020-03-17 01:21:12
代码块、缓存机制、深浅拷贝、集合 id、is、== id: 可类比为身份号,具有唯一性,若id 相同则为同一个数据。 #获取数据的内存地址(随机的地址:内存临时加载,存储数据,当程序运行结束后,内存地址即被丢弃): i = 'a' print(id(i)) >>>2047746570672 print(id(i)) >>>2020558633392 print(id(i)) print(id(i)) >>>1908036008368 1908036008368 l1 = [1,2,3] l2 = [1,2,3] print(l1 == l2) >>>True #比较的是两边的值是否相等。 is 判断 id是否相同 (‘’==’‘判断 值是否相同 ) l1 = [1,2,3] l2 = [1,2,3] print(l1 is l2) >>>False #判断的是内存地址是否相同。 print(id(l1)) print(id(l2)) >>>2648963830216 2648963830728 l1 = [1,2,3] l2 = l1 print(l1 is l2) print(id(l1)) print(id(l2)) >>>True 2053863395784 2053863395784 s1 = 'iam' s2 = 'iam' print(s1 is s2) >>>True

python之正则表达式

六眼飞鱼酱① 提交于 2020-03-09 16:45:52
正则表达式 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。 正则表达式是用来匹配字符串非常强大的工具,在其他编程语言中同样有正则表达式的概念,Python同样不例外,利用了正则表达式,我们想要从返回的页面内容提取出我们想要的内容就易如反掌了。 正则表达式的大致匹配过程是: 1.依次拿出表达式和文本中的字符比较, 2.如果每一个字符都能匹配,则匹配成功;一旦有匹配不成功的字符则匹配失败。 3.如果表达式中有量词或边界,这个过程会稍微有一些不同。 符号 说明 实例 . 表示任意字符,如果说指定了 DOTALL 的标识,就表示包括新行在内的所有字符。 'abc' >>>'a.c' >>>结果为:'abc' ^ 表示字符串开头。 'abc' >>>'^abc' >>>结果为:'abc' $ 表示字符串结尾。 'abc' >>>'abc$' >>>结果为:'abc' *, +, ? '*'表示匹配前一个字符重复 0 次到无限次,'+'表示匹配前一个字符重复 1次到无限次,'?'表示匹配前一个字符重复 0 次到1次 'abcccd' >>>'abc*' >>>结果为:'abccc' 'abcccd' >>>'abc+' >>>结果为:'abccc' 'abcccd' >>>

python学习之正则表达式

我的梦境 提交于 2020-03-09 16:43:52
1. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不同;但不用担心,不被支持的语法通常是不常用的部分。如果已经在其他语言里使用过正则表达式,只需要简单看一看就可以上手了。 下图展示了使用正则表达式进行匹配的流程: 正则表达式的大致匹配过程是:依次拿出表达式和文本中的字符比较,如果每一个字符都能匹配,则匹配成功;一旦有匹配不成功的字符则匹配失败。如果表达式中有量词或边界,这个过程会稍微有一些不同,但也是很好理解的,看下图中的示例以及自己多使用几次就能明白。 下图列出了Python支持的正则表达式元字符和语法: 1.2. 数量词的贪婪模式与非贪婪模式 正则表达式通常用于在文本中查找匹配的字符串。Python里数量词默认是贪婪的(在少数语言里也可能是默认非贪婪),总是尝试匹配尽可能多的字符;非贪婪的则相反,总是尝试匹配尽可能少的字符。例如:正则表达式"ab*"如果用于查找"abbbc",将找到"abbb"。而如果使用非贪婪的数量词"ab*?",将找到"a"。 1.3. 反斜杠的困扰 与大多数编程语言相同,正则表达式里使用"

Python基础知识点总结【面试必过】

时光总嘲笑我的痴心妄想 提交于 2020-03-09 15:01:37
数据类型: 数字类型(int、float、bool(True or False)、complex) 字符串(str) —— ' ' or " " 相关操作:通过下标获取内容,对字符串进行多步操作前一般需要进行切片[:],保证原字符串不会随着操作变化。(注意:起始坐标和结束坐标都看省略,步进根据自己的需要与否决定是否设置,有时候很简单的解决某些问题) 注意:很多人学Python过程中会遇到各种烦恼问题,没有人帮答疑容易放弃。为此小编建了个Python全栈免费答疑.裙 :七衣衣九起起巴而五(数字的谐音)转换下可以找到了,不懂的问题有老司机解决里面还有最新Python教程项目可拿,,一起相互监督共同进步! 常用方法: capitalize 使指定字符串首字母大写 center(width, fillchar) 将原字符串变成指定的长度并且内容居中,剩下的部分使用指定的字符填充 rjust(width, fillchar) 将原字符串变成指定的长度并且内容右对齐,剩下的部分使用指定的字符填充 字符串1.join(字符串2) 在字符串2中的每个字符之间插入一个字符串1 列表(list)—— [1,2,3] 相关操作:列表的操作与字符串的操作基本相同,不过需要注意的是字符串的操作对象是单个字符,列表的操作对象是列表中的元素。 常用方法: append 在列表的末尾添加一个元素 insert

深入理解Python字符编码

社会主义新天地 提交于 2020-03-07 12:45:24
不论你是有着多年经验的 Python 老司机还是刚入门 Python 不久,你一定遇到过UnicodeEncodeError、UnicodeDecodeError 错误,每当遇到错误我们就拿着 encode、decode 函数翻来覆去的转换,有时试着试着问题就解决了,有时候怎么试都没辙,只有借用 Google 大神帮忙,但似乎很少去关心问题的本质是什么,下次遇到类似的问题重蹈覆辙,那么你有没有想过一次性彻底把 Python 字符编码给搞懂呢? 完全理解字符编码 与 Python 的渊源前,我们有必要把一些基础概念弄清楚,虽然有些概念我们每天都在接触甚至在使用它,但并不一定真正理解它。比如:字节、字符、字符集、字符码、字符编码。 字节 字节(Byte)是计算机中数据存储的基本单元,一字节等于一个8位的比特,计算机中的所有数据,不论是保存在磁盘文件上的还是网络上传输的数据(文字、图片、视频、音频文件)都是由字节组成的。 字符 你正在阅读的这篇文章就是由很多个字符(Character)构成的,字符一个信息单位,它是各种文字和符号的统称,比如一个英文字母是一个字符,一个汉字是一个字符,一个标点符号也是一个字符。 字符集 字符集(Character Set)就是某个范围内字符的集合,不同的字符集规定了字符的个数,比如 ASCII 字符集总共有128个字符,包含了英文字母、阿拉伯数字

python语言基础笔记

扶醉桌前 提交于 2020-03-05 07:52:47
二进制数据则由bytes类型表示 python没有二进制类型,但可以存储二进制类型的数据,就是用string字符串类型来存储二进制数据,这也没关系,因为string是以1个字节为单位的。 b'\xe4\xb8\xad\xe6\x96\x87' \x表示16进制 ______________________________________________________________________________ #coding=gbk var=input("请输入十六进制数:") #16进制转化二进制 b=bin(int(var,16)) print(b[2:]) _____________________________________________________________________________________ print(format(ord('周'),'b')) 中文转化8进制再转二进制; string:UNICODE unicode类型名词叫:string unicode是文本显示用,根据不同的软件可以encoding不同的软件显示编码。 bytes: bytes bytes类型名词叫:bytes python3编码最大的改变: 把字节串与字符串彻底分开!bytes为存储字节码编码方式 (中文显示unicode,encode--utf8-

(二十一)python 3 内置函数

假如想象 提交于 2020-03-04 06:18:06
阅读目录 1.abs() 2.dict() 3.help() 4.min() 5.setattr() 6.all() 7.dir() 8.hex() 9.next() 10.slice() 11.any() 12.divmod(a,b) 13.id() 14.object() 15.sorted() 16.ascii() 17.enumerate() 18.input() 19.oct() 20.staticmethod() 21.bin() 22.eval() 23.int() 24.open() 25.str() 26.bool() 27.exec() 28.isinstance() 29.ord() 30.sum() 31.bytearray() 32.filter() 33.issubclass() 34.pow() 35.super() 36.float() 37.iter() 38.print() 39.tuple() 40.callable() 41.format() 42.len() 43.property() 44.type() 45.chr() 46.frozenset() 47.list() 48.range() 49.vars() 50.classmethod() 51.getattr() 52.set() 53.locals() 54.repr() 55

Linux之通配符

眉间皱痕 提交于 2020-03-04 05:53:51
Linux之通配符 前言:学习通配符有点为正则表达式打基础的感觉……之前学python有学过 正则表达式 ,所以这篇博客学起来还是挺快的。 特殊符号 | #管道符,或者(正则) > #输出重定向 >> #输出追加重定向 < #输入重定向 << #追加输入重定向 ~ #当前用户家目录 `` $() #引用命令被执行后的结果 $ #以。。。结尾(正则) ^ #以。。。开头(正则) * #匹配全部字符,通配符 ? #任意一个字符,通配符 # #注释 & #让程序或脚本切换到后台执行 && #并且 同时成立 [] #表示一个范围(正则,通配符) {} #产生一个序列(通配符) . #当前目录的硬链接 .. #上级目录的硬链接 通配符 他是shell的内置功能 通配符,用过DOS的应该很了解,也很常用。 通配符,指包含这些字符的字符串“?”,“*”,“[]”,{} 通配符含义===>匹配文件名 符号 作用 * 匹配任何字符串/文本,包括空字符串;*代表任意字符(0个或多个) ls file * ? 匹配任何一个字符(不在括号内时)?代表任意1个字符 ls file 0 [abcd] 匹配abcd中任何一个字符 [a-z] 表示范围a到z,表示范围的意思 []匹配中括号中任意一个字符 ls file 0 {..} 表示生成序列. 以逗号分隔,且不能有空格 补充 [!abcd] 或[^abcd