python字符串比较

Python乱码、编码问题汇总

ぐ巨炮叔叔 提交于 2020-02-14 16:36:29
为什么Python使用过程中会出现各式各样的乱码问题,明明是中文字符却显示成“\xe4\xb8\xad\xe6\x96\x87”的形式? 为什么会报错“U nicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)”?本文就来研究一下这个问题。 字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。 decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串str1转换成unicode编码。 encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode('gb2312'),表示将unicode编码的字符串str2转换成gb2312编码。 因此, 转码的时候一定要先搞明白,字符串str是什么编码,然后decode成unicode,然后再encode成其他编码 代码中字符串的默认编码与代码文件本身的编码一致。 如:s='中文' 如果是在utf8的文件中

Coy的Python之路--Day2

十年热恋 提交于 2020-02-14 02:41:22
节内容 数据类型介绍及格式化输出 str类型 str索引切片及简单操作 一,数据类型介绍及格式化输出 什么是数据类型:   我们人类可以很容易的分清数字与字符的区别,但是计算机并不能呀,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,“汉”是文字,否则它是分不清1和‘汉’的区别的,因此,在每个编程语言里都会有一个叫数据类型的东东,其实就是对常用的各种数据类型进行了明确的划分,你想让计算机进行数值运算,你就传数字给它,你想让他处理文字,就传字符串类型给他。 1,格式化输出 info = ''' ------------ info of %s ----------- Name : Coy Yang Age : 100 job : Teacher Hobbie: girl ------------- end ----------------- ''' print(info) 占位符%及双%% 双%% 如果在字符串当中,%当成占位符,没有s或者d只是当做%多少 print('我叫%s,今天%d,学习进度2%%' % ('Coy',25)) 字符格式化输出 占位符 %s s = string %d d = digit 整数 %f f = float 浮点数,约等于小数 2,较运算符和逻辑运算符优先级 day1中提到过运算符,今天主要讲逻辑运算符

国内某Python大神自创完整版,系统性学习Python

情到浓时终转凉″ 提交于 2020-02-13 13:43:54
很多小伙伴纠结于这个一百天的时间,我觉得完全没有必要,也违背了我最初放这个大纲上来的初衷,我是觉得这个学习大纲还不错,自学按照这个来也能相对系统的学习知识,而不是零散细碎的知识最后无法整合,每个人的基础以及学习进度都不一样,没有必要纠结于一百天这个时间,甭管你是用三个月还是用一年来学习这些东西,最后学到了不就是收获吗?何必纠结于这一百天,觉得这一百天学习不完我就放弃了呢?(另,项目后面没有更新完,大家可以按照这个框架去学习,没有更新完的大家可以自行找资料。) PS:很多人在学习Python的过程中,往往因为遇问题解决不了或者没好的教程从而导致自己放弃,为此我整理啦从基础的python脚本到web开发、爬虫、django、数据挖掘等【PDF等】需要的可以进Python全栈开发交流.裙 :一久武其而而流一思(数字的谐音)转换下可以找到了,里面有最新Python教程项目可拿,不懂的问题有老司机解决哦,一起相互监督共同进步 给初学者的几个建议: Make English as your working language. Practice makes perfect. All experience comes from mistakes. Don’t be one of the leeches. Either stand out or kicked out.

Python学习笔记之入门(第二篇)

允我心安 提交于 2020-02-13 05:31:29
1、第一个Python代码 在Linux下/home/zx 目录下新建hello.py文件 1 #vim hello.py //添加如下内容 2 3 #!/usr/bin/env python 4 5 # -*- coding:utf-8 -*- 6 print "Hello,World" 7 8 #chmod +x hello.py //添加执行权限 执行代码: ./hello.py 结果: python内部执行过程如下: python首先把hello.py文件读到内存当中,然后经过语法分析和词法分析之后,假如文本没有问题会把文本的内容交给编译器,编译器会把文本的内容编译成字节码,然后执行字节码,把字节码转换成机器码,在进行CPU调度。 2、注释 当行注视:# 被注释内容 多行注释:""" 被注释内容 """ 或者 '''被注释内容'''。 3、导入模块 import sys //导入sys模块 4、捕获参数 捕获参数,并存入到集合 import sys.argv 比如:test内容如下 : 1 #vim test.py 2 3 #!/usr/bin/env python 4 # -*- coding:utf-8 -*- 5 import sys 6 print sys.argv 执行代码: zx@ubuntu:~$ ./test.py localhost:8001 执行结果:

leetcode-165-比较版本号

怎甘沉沦 提交于 2020-02-10 06:53:05
题目描述: 比较两个版本号 version1 和 version2 。 如果 version1 > version2 返回 1 ,如果 version1 < version2 返回 -1 , 除此之外返回 0 。 你可以假设版本字符串非空,并且只包含数字和 . 字符。 . 字符不代表小数点,而是用于分隔数字序列。 例如, 2.5 不是“两个半”,也不是“差一半到三”,而是第二版中的第五个小版本。 示例 1: 输入: version1 = "0.1", version2 = "1.1" 输出: -1 示例 2: 输入: version1 = "1.0.1", version2 = "1" 输出: 1 示例 3: 输入: version1 = "7.5.2.4", version2 = "7.5.3" 输出: -1 要完成的函数: int compareVersion(string version1, string version2) 说明: 1、这道题给定两个字符串,字符串中只含有数字和'.'这个符号,这两个字符串作为版本号,要求判断哪个版本号更大。 如果第一个大于第二个,那么返回1。如果第一个小于第二个,那么返回-1。如果相等返回0。 2、这道题如果用python来做,很容易,split函数按照'.'划分,两个字符串得到多个数字存储在两个list中

基础数据类型补充以及编码的进阶

一笑奈何 提交于 2020-02-10 01:57:58
python 基础数据类型补充以及编码的进阶 一. 基础数据类型补充内容 1.1 字符串 字符串咱们之前已经讲了一些非常重要的方法,剩下还有一些方法虽然不是那么重要,但是也算是比较常用,在此给大家在补充一些,需要大家尽量记住。 #captalize :首字母大写        #swapcase :大小写翻转        #title   :每个单词的首字母大写 #center    :内同居中,总长度,空白处填充 #寻找字符串中的元素是否存在       #find     :返回的找到的元素的索引,如果找不到返回-1 #index     :返回的找到的元素的索引,找不到报错。 #captalize,swapcase,title print(name.capitalize()) #首字母大写 print(name.swapcase()) #大小写翻转 msg='taibai say hi' print(msg.title()) #每个单词的首字母大写 # 内同居中,总长度,空白处填充 ret2 = a1.center(20,"*") print(ret2) #寻找字符串中的元素是否存在 # ret6 = a4.find("fjdk",1,6) # print(ret6) # 返回的找到的元素的索引,如果找不到返回-1 # ret61 = a4.index("fjdk",4,6

Python语法入门之基本数据类型

大城市里の小女人 提交于 2020-02-09 20:15:06
目录 一、整型(int) 二、浮点型(float) 三、字符串类型(str) 字符串在python2和python3中的细微区别 四、复数 五、列表(list) 六、数据字典(dict) 定义方式 七、布尔值(bool) 定义 ==和is 一、整型(int) python2中有long类型 python3中没有long类型,只有int类型 整形,用来记录年龄,人数等整数相关的状态 age = 21 students = 65 print(type(age)) <class 'int'> # 类型为整型 二、浮点型(float) 用来记录工资,身高,体重等小数相关的状态 sal = 5257.23 weight = 60.78 height = 175.12 print(type(sal)) <class 'float'> # 类型为浮点型 三、字符串类型(str) 在引号内的都被称为字符串,用来描述事物的状态信息 name = 'kody' address = '河南南阳' sex = '男' print(type(sex)) <class 'str'> # 类型为字符串 字符串引号是没有区别的,但不能混用 # 单双引号无区别,都是字符串引号 name = "kody" name = 'kody' name = """kody""" # 但是单双引号不能混用 name =

Python基础——数据类型与基本运算【主要为除法】

蓝咒 提交于 2020-02-09 15:25:26
   Python版本:3.6.2 操作系统:Windows 作者:SmallWZQ   无论是Python 3.x版本还是2.x版本,Python均支持多种数据类型,能够直接处理的数据类型包括Int类型、Float类型、String类型、布尔值、变量、常量……   在计算机内部,Python可以把任何数据都看成一个“对象”,而变量就是在程序中用来指向这些数据对象的,对变量赋值就是把数据和变量给关联起来。 Int整数类型   令人惊喜的是,Python可以处理任意位数的整数,同时包括负整数。因此,Python处理整数非常方便,几乎与数学表示整数的方式一模一样。   Python也同时支持十六进制和八进制。十六进制数表示形式如下: 1 #十六进制表示形式 2 >>>0xAD 3 173 4 >>>0xad 5 173 6 >>>0XAD 7 173   对于八进制,Python 3.x版本必须以“0o”前缀(数字0 + 字母o),八进制表示形式如下: 1 #八进制表示形式 2 >>>0o20 3 16 4 #字母o大写也编译通过,最好小写,避免造成歧义 5 >>>0O20 6 16   注:计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便, 十六进制用 0x 前缀和0-9,a-f表示,例如: 0xff00 , 0xa5b4c3d2 等等。 Float浮点型   我们都知道

Python基础复盘_02

十年热恋 提交于 2020-02-09 12:56:03
1.Python开发IDE(工具) Pycharm、eclipse、notepad++、Vim、Sublime Text、GNU Emacs等 2.循环 while 条件 # 循环体 # 条件为真则执行 #条件为假则执行 break用于退出所有循环 continue用于退出当前循环 for循环 # for 变量 in 可迭代对象: 2.Pycharm的run 本质上是自动调用python使用的解释器 3.Python基本运算符 +   -   *   /   **   % 4.Python字符串 # "一二三" 在Python种包含的是三个字符 name ="自动导入模板新" if "自动" in name: print("包含") else: print("不包含") # in表示是否包含子字符串(连续的叫做子序列、子字符串),判断连续的字符在不在选择的字符串中 # in或者not in判断某个字符是否在某个字符中 5.布尔值(真假值) # 真 True # 假 False if True : 执行语句 else: 执行语句 6.破解安装方法 http://blog.csdn.net/doc_wei/article/details/77996223 http://idea.lanyus.com/ (-javaagent:C:\Program Files\JetBrains

JS高级-4:正则表达式

左心房为你撑大大i 提交于 2020-02-07 21:02:42
正则表达式 js java c# python 学习网站 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/RegExp 概念 正则表达式是为了解决字符串操作中一些比较麻烦的场景,比如字符串提取、字符串替换、字符串验证等 常用于:表单验证:是否是一个数字、是一个电话号码、是一个邮箱。。。 字符串替换: 字符串查找 正则表达式其实也是js里面的一个对象 创建一个正则表达式 var reg2=new RegExp("a"); var reg1=/a/; 其中//是标记,a表示要匹配的字符 正则表达式匹配 var reg=/a/; //匹配字符串中的a字符 reg.test("abc"); //正则表达式的test用来检测字符串是否满足正则表达式的要求; //由于"abc"中存在a,所以是符合要求的,所以这段代码的返回值为:true const isTrue = reg.test("coke"); //由于"coke"中不存在a字符,所以不符合条件 -->isTrue:false var reg2=/abc/; reg2.test("adbcd"); //字符串中必然存在"abc"才符合要求,所以这段代码的返回值为false reg2.test("1abc"); //true