python字符串

python replace函数替换无效问题

荒凉一梦 提交于 2020-01-18 00:23:27
str = "hello,china!" str.replace("hell","well") print(str) 写代码时发现这样替换之后并没有替换成功。 原因: 在Python中字符串是是不可变对象。 所以字符串使用replace需要重新赋值,生成一个新的对象。 之前没有重新引用,导致该变量 指向的是 以前的对象,实则已经发生变化,只是没有重新引用而已。 所以要想打印出替换后的字符串需要重新赋值,如下: str = "hello,china!" str = str.replace("hell","well") print(str) 这样就可以替换成功啦!! 来源: https://www.cnblogs.com/qilin20/p/12207901.html

Python与正则表达式

风流意气都作罢 提交于 2020-01-17 22:30:38
参考资料: 1.菜鸟教程-Python 3 正则表达式,网址:https://www.runoob.com/python3/python3-reg-expressions.html 2.《Python从小白到大牛》,作者关东升,清华大学出版社 3.《Python数据分析基础》,作者[美]Clinton W. Brownley,译者陈光欣,中国工信出版集团,人民邮电出版社 简述正则表达式   正则表达式(Regular Expression)是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。在Python中,正则表达式的应用非常广泛,如数据挖掘、数据分析、网络爬虫、输入有效性验证等。   re模块使Python拥有全部的正则表达式功能。我们使用下面的语句来导入该模块: import re 正则表达式字符串   正则表达式字符串由普通字符和元字符组成。   普通字符是按照字符字面意义表示的字符。元字符是预先定义好的一些特殊字符,如 \w+ 和 \. 都属于元字符。   下面是一些基本元字符: 字符 说明 \ 转义符号 . 表示任意一个字符 + 表示重复一次或多次 * 表示重复零次或多次 ? 表示重复零次或一次 | 选择符号,表示“或” {} 定义量词 [] 定义字符类 () 定义分组 ^ 表示取反,或匹配一行的开始 $ 匹配一行的结束   上面提到了元字符 ^ 和

网络编程

感情迁移 提交于 2020-01-17 04:31:43
tcp和udp的区别: https://www.jianshu.com/p/c63b082ac565 1.基于tcp # 服务端 import socket ​ # 创建服务端socket对象 server = socket.socket() ​ # 绑定IP和端口 server.bind(('192.168.3.6',8000)) ​ # 后边可以等5个人 server.listen(5) ​ print('服务端准备开始接收客户端的连接') # 等待客户端来连接,如果没人来就傻傻的等待。 # conn是客户端和服务端连接的对象(伞),服务端以后要通过该对象进行收发数据。 # addr是客户端的地址信息。 # #### 阻塞,只有有客户端进行连接,则获取客户端连接然后开始进行通信。 conn,addr = server.accept() ​ print('已经有人连接上了,客户端信息:',conn,addr) # 通过对象去获取(客户端通过伞给我发送的消息) # 1024表示:服务端获取数据时,一次性最多拿1024字节。 data = conn.recv(1024) print('已经有人发来消息了',data) # 服务端通过连接对象给客户端回复了一个消息。 conn.send(b'stop') ​ # 与客户端断开连接 conn.close() ​ # 关闭服务端的服务

python基础_0623

坚强是说给别人听的谎言 提交于 2020-01-17 01:48:44
命名的规则: project name package name python file name 1. 不能以数字开头,不能使用中文 2. 不能使用关键字 3. 英文 字母 test_06_23 4. 数字 字母 下划线构成(不能以数字开头) 5. 见名知意 age 变量: x = 1    #定义一个变量x, 并且赋值为1 print(x)    #如果要引用某个变量,要确保该变量已经被赋值被定义 常用数据类型:整形 浮点型 布尔型 字符串 age = 18 #关键字 int score = 99.9 #浮点数 小数 关键字 float True #关键字 Boolean bool True False False 字符串: 用成对的单引号 或是 成对的双引号 括起来的内容 关键字: str age = '20' print(''X'') 字符串的一些特殊用法: a = 'hello' b = 'world' c = 6 字符串的拼接 ‘+’,“+”左右的数据类型应该一致 字符串跟别的数据类型去进行拼接 强制转化 然后使用‘+’ 强制转化 str(变量名/变量值) print(a+str(c)) ‘,’,使用逗号输出结果会有序一个明显的空格,字符串跟别的数据类型去进行拼接 字符串的切片 取值(取左不取右) z = 'hello' 字符串的索引是从0开始的 单个字符串取值

python 正则表达式参数替换

萝らか妹 提交于 2020-01-16 18:59:40
使用正则表达式替换字典数据 ${memberID} 对应的正则表达式 '\$\{.*\}'解释:\$ 转义替换字符串中 $   \{ 转义替换字符串中 {   . 除了\n中的任意单个自符   * 匹配*前面的字符零次或者多次   \} 转义替换字符串中 } dict = {"memberId":"${memberID}","password":"123456","loanId":"${loanId}","amount":"-100"}data = {"memberId":10001, "loanId":1}for param in dict: value = dict[param] if param in data.keys(): s = str(data[param]) newValue = re.sub('\$\{.*\}', s, value) dict[param] = newValueprint(dict)扩展:正则表达式常用规则^ 匹配字符串的开头,指定字符串必须以什么开头$ 匹配字符串结尾,指定字符串以$前的字符结尾+ 匹配前面的字符1次或者多次 >= 1{m} 指定匹配字符的次数? 匹配前面字符0次或者1次  python中通过re模块来处理正则表达式。re模块的常用方法如下:   re.match(re规则,字符串) :从头开始匹配。从字符串的第一个字符开始匹配

Python字符串

感情迁移 提交于 2020-01-15 17:00:15
Python字符串 函数字典目录 字母大小写 1. title() 2.upper() 3.lower() 字符串长度 4.len() 去除空白 5.lstrip 6.rstrip 7.strip 字符串的表示 msg1 = " Hello World!" #直接用“…” 表示 msg2 = ' Hello World! ' #直接用‘…’表示 msg3 = " I 'like' you! " #同时有单、双引号,双引号放最外层 msg3 = ' I "like" you! ' #同时有单、双引号,单引号放最外层 msg4 = " Hello , my name \' is \" Sherly! " #同时有单、双引号,运用转义符 print ( msg1 ) print ( msg2 ) print ( msg3 ) print ( msg4 ) 运行结果: 函数 title() 将字符串中单词首字母大写,其余字母小写 msg = " Hello , my name is SHERLY ! " msg5 = msg . title ( ) #将msg中单词首字母大写 print ( msg ) print ( msg5 ) 运行结果: upper() 将字符串中所有字母大写 msg = " Hello , my name is SHERLY ! " msg6 = msg .

第七章 yaml格式

房东的猫 提交于 2020-01-15 16:12:14
一、 简单说明 yaml 是一个可读性高,用来表达数据序列的格式。 YAML 的意思其实是:仍是一种标记语言,但为了强调这种语言以数据做为中心,而不是以标记语言为重点 二、 基本语法 缩进时不允许使用 Tab 键,只允许使用空格缩进的空格 数目不重要,只要相同层级的元素左侧对齐即可 # 标识注释,从这个字符一直到行尾,都会被解释器忽略 三、 YAML 支持的数据结构 对象:键值对的集合,又称为映射( mapping ) / 哈希( hashes ) / 字典( dictionary ) 数组:一组按次序排列的值,又称为序列( sequence ) / 列表( list ) 纯量( scalars ):单个的、不可再分的值 四、写法 1 、 对象类型 对象的一组键值对,使用冒号结构表示 name: Steve age: 18 Yaml 也允许另一种写法,将所有键值对写成一个行内对象 hash: { name: Steve, age: 18 } 2 、 数组类型 一组连词线开头的行,构成一个数组 animal - Cat - Dog 数组也可以采用行内表示法 animal: [Cat, Dog] 3 、 复合结构 对象和数组可以结合使用,形成复合结构 languages: - Ruby - Perl - Python websites: YAML: yaml.org Ruby:

YAML语法

拟墨画扇 提交于 2020-01-15 16:12:01
⒈简单说明   是一个可读性高,用来表达数据序列的格式。YAML的意思其实是:仍是一种标记语言,但为了强调这种语言以数据做为中心,而不是以标记语言为重点 ⒉基本语法   缩进时不允许使用Tab键,只允许使用空格   缩进的空格数目不重要,只要相同层级的元素左侧对齐即可   #标识注释,从这个字符一直到行尾,都会被解释器忽略 ⒊YAML支持的数据结构   对象类型:键值对的集合,又称为映射(mapping)/哈希(hashes)/字典(dictionary)   数组类型:一组按次序排列的值,又称为序列(sequence)/列表(list)   纯量类型(scalars):单个的、不可再分的值     对象类型:对象的一组键值对,使用冒号结构表示 name: fanqi age: 25     Yaml也允许另一种写法,将所有键值对写成一个行内对象 hash: { name: fanqi, age: 25}     数组类型:一组连词线开头的行,构成一个数组 animal - Cat - Dog     数组也可以采用行内表示法 animal:[Cat,Dog]               复合结构:对象和数组可以结合使用,形成复合结构 1 languages: 2 - Ruby 3 - Perl 4 - Python 5 websites: 6 YAML:yaml.org 7

Python之路【第二十一篇】:JS基础

落花浮王杯 提交于 2020-01-14 18:40:36
JavaScript的基础学习(一) 一、JavaScript概述 1.1 JavaScript的历史 ● 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名ScriptEase.(客户端执行的语言) ● Netscape(网景)接收Nombas的理念,( Brendan Eich) 在其Netscape Navigator 2.0产品中开发出一套livescript的脚本语言.Sun和Netscape共同完成.后改名叫Javascript ● 微软随后模仿在其IE3.0的产品中搭载了一个JavaScript的克隆版叫Jscript. ● 为了统一三家,ECMA( 欧洲计算机制造协会)定义了ECMA-262规范.国际标准化组织及国际电工委员会(ISO/IEC)也采纳 ECMAScript 作为标准(ISO/IEC-16262)。从此,Web 浏览器就开始努力(虽然有着不同的程度的成功和失败)将 ECMAScript 作为 JavaScript 实现的基础。EcmaScript是规范. 1.2 ECMAScript 尽管 ECMAScript 是一个重要的标准,但它并不是 JavaScript 唯一的部分,当然,也不是唯一被标准化的部分。实际上,一个完整的 JavaScript 实现是由以下 3 个不同部分组成的

Python 学习 字符串等等

我的未来我决定 提交于 2020-01-14 09:03:24
快捷键 alt+P 上一句命令 引号之用 print ( '"life is short ,I need Python"' ) 结果 “life is short ,I need Python” print ( "Let's go!" ) 结果 Let’s go! print ( ''' "Let's go!" ''' ) 结果 “Let’s go!” print ( 'Let\'s go!\nBaby' ) 结果 Let’s go! Baby 原始字符串 字符串前加上个 r 各种转义字符不受影响 print ( r "\\\fsuidagfudsig\n \r\t" ) 三个引号(三个单引号或者双引号) 不用加换行 poetry = """ oh oh oh ok """ 结果 字符串 的 加 乘 print ( "hankai\ HANKAI" ) 加 \ 可以换行( 在" "里面) 来源: CSDN 作者: 韩凯 dragon in sky 链接: https://blog.csdn.net/hk2121/article/details/103934603