【Python】【学习笔记】持续更新
调用模块的两种方式:
#方式1
from decimal import Decimal
Decimal('1.00') #方式2
import decimal
decimal.Decimal('1.00')
分数与小数间的转换
#小数转换分数
(2.5).as_integer_ratio()
#有时候转换出来的分数的分子分母都很大,可以通过限制最大分母值来控制
x=Fraction(1,3)
a=float(x)
c=Fraction(1,3)
c.limit_denominator(10) #分数转换小数
x=Fraction(1,3)
float(x)
利用集合和列表过滤重复项
#原始列表
L=[1,2,1,2,3,4,3,5]
#利用集合过滤
S=set(L)
#还原为列表
L=list(S)
Python的变量就是在特定的时间引用了一个特定的对象
关于共享引用和在原处修改
#共享引用
L1=[1,2,3]
L2=L1 #在原处更改,即将变量L2赋值给列表对象,改变L1引用的原对象的值
L1=[1,2,3]
L2=L1[:] #利用分片技术复制
L1[0]=24
L==M 测试两个被引用的对象是否有相同的值
L is M 检查对象的同一性
利用raw字符和转移字符打开文件
#错误的书写
myfile=open('C:\new\text.dat','w') #\n被识别为换行符,\t识别为制表符 #利用raw字符
#当r(或者R)出现在字符串第一个引号前时,他将关闭转义机制
myfile=open(r'C:\new\text.dat','w') #利用转义字符
myfile=open('C:\\new\\text.dat','w')
分片S[i:j]提取字符串:
——上边界并不包含在内
——分片的边界默认为0和序列的长度,如果没有给出的话
——S[1:3]分片获取从偏移为1的元素直到但不包括偏移为3的元素
——S[1:]分片获取从偏移为1的元素到序列末尾的之间的元素
——S[:3]分片获取从偏移为0的元素直到但不包括偏移为3的元素
——S[:-1]分片获取从偏移为0的元素直到但不包括最后1个元素
——S[:]实现顶层S拷贝
完整形式的分片S[i:j:k],含义是:索引S对象中的元素,从偏移为i到偏移为j-1,每隔k元素索引1次,当k为负数时,分片从右至左,此时两个边界的意义发生的对调
#利用分片反转字符串
str='hello'
str1=str[::-1]
数字与字符串之间的转换:int函数将字符串转换成数字,str函数将数字转换成字符串表达式
字符串和ASCII码之间的转换:ord函数将字符串转换成ASCII码,chr函数将ASCII码转换成字符串
字符串方法实例之修改字符串
#分片合并法
S='aabbcc'
S=S[:2]+'mm'+S[4:]
#replace法
S='aabbcc'
S=S.replace('bb','mm']
#列表+join法
S='aabbcc'
L=list(S)
L[2]='m'
L[3]='m'
S=''.join(L) #join的作用就是将列表字符串连接在一起用分隔符隔开,.号前面的字符就是分隔符
字符串方法实例之文本解析
#分片法
S='aaa,bbb,ccc'
S1=S[:3]
S2=S[4:7]
S3=S[8:]
#split法
S='aaa,bbb,ccc'
S.split(',')
字符串格式表达式
格式化字符串:
1.在%操作符的左侧放置一个需要格式化的字符串,这个字符串带有一个或者多个嵌入的转换目标,都已%开头;
2.在%操作符的右侧放置一个(或多个,嵌入到元组中)对象,这些对象都会插入左侧想让Python进行格式化字符串的一个(或多个)转换目标的位置上去。
高级字符串表达式应用实例
#左对齐格式化与补零格式化
x=1234
res="integers:...%6d...%-6d...%06d" % (x,x,x)
#%6d补齐6位,右对齐;%-6d补齐6位,左对齐;%06d用0补齐6位
#浮点数的对齐、补零以及添加正负号
x=1.234567
'%-6.2f|%05.2f|%+6.1f' % (x,x,x)
#可以在格式化字符串中用*来指定通过计算得出的宽度以及精度
x=1/3
'%f,%.2f,%*.*f' %(x,x,8,5,x)
基于字典的字符串格式化
#示例1
'%(n)d %(x)s' % {"n":1,"s":"spam"}
#示例2
str="今天是%(x)s%(n)d"
value={"x":"星期","n":1}
str % value
#示例3
x="星期"
n=1
"今天是%(x)s%(n)d" % vars()
#vars()为内置函数,返回的字典包含了所有本函数在调用时存在的变量
字符串格式化调用方法
#示例1
str='{0},{1},{2}'
str.format('a','b','c')
#示例2
str='{a},{b},{c}'
str.format(a='a1',b='b1',c='c1')
注意:原字符串str不可变,如果使用格式化后的字符串,要将其保存在另一个变量中
【Python】【学习笔记】持续更新的更多相关文章
- Python 学习笔记 - 不断更新!
Python 学习笔记 太久不写python,已经忘记以前学习的时候遇到了那些坑坑洼洼的地方了,开个帖子来记录一下,以供日后查阅. 摘要:一些报错:为啥Python没有自增 ++ 和自减 --: 0x ...
- 数据分析之Pandas和Numpy学习笔记(持续更新)<1>
pandas and numpy notebook 最近工作交接,整理电脑资料时看到了之前的基于Jupyter学习数据分析相关模块学习笔记.想着拿出来分享一下,可是Jupyter导出来h ...
- [读书]10g/11g编程艺术深入体现结构学习笔记(持续更新...)
持续更新...) 第8章 1.在过程性循环中提交更新容易产生ora-01555:snapshot too old错误.P257 (这种情况我觉得应该是在高并发的情况下才会产生) 假设的一个场景是系统一 ...
- Semantic ui 学习笔记 持续更新
这个semantic 更新版本好快~ 首先是代码的标识<code></code> 具体样式就是红框这样的 圈起来代码感觉不错 不过要在semantic.css里在加上如下样式~ ...
- Git学习笔记(持续更新)
1.强制同步为远程的代码 远程仓库回退了commit的情况下(第2条描述之情况),强制同步远程的代码到本地 #更新远程最新的所有代码,但是不merge或者rebase git fetch --all ...
- Python学习笔记(day23更新)
第一章 计算机基础 1.1 硬件 计算机基本的硬件由:CPU / 内存 / 主板 / 硬盘 / 网卡 / 显卡 等组成,只有硬件但硬件之间无法进行交流和通信. 1.2 操作系统 作用:操作系统用于协同 ...
- R语言的学习笔记 (持续更新.....)
1. DATE 处理 1.1 日期格式一个是as.Date(XXX) 和strptime(XXX),前者为Date格式,后者为POSIXlt格式 1.2 用法:as.Date(XXX,"%Y ...
- angularjs1学习笔记--持续更新
angularJS使用的MVC为何不属于二十三种设计模式之一? MVC被GoF (Gang of Four,四人组, <Design Patterns: Elements of Reusable ...
- python内置模块笔记(持续更新)
常用函数name = '{wh}my \t name is {name},age is {age}.' print(name.capitalize()) # 字符串的开头字母大写 print(name ...
- ggplot2 学习笔记 (持续更新.....)
1. 目前有四种主题 theme_gray(), theme_bw() , theme_minimal(),theme_classic() 2. X轴设置刻度 scale_x_continuous(l ...
随机推荐
- 数论 UVALive 2756
这道题目考察的n个不同的数环形排列,每次相邻两个数交换位置,这样由正序转变成逆序所需操作的最小次数t. 公式:环形排列:t= n/2*(n/2 - 1)/2 + (n+1)/2* ((n+1)/2 - ...
- visual studio 2013 已停止运行 解决办法
情况是这样,WINDOWS 8.1,双显卡笔记本,打开VS.NET 没几秒就提示 已停止运行,然后就关闭程序了,找了无数资料都没有解决 -------------------------------- ...
- OS实验报告--FCFS算法
实验二.作业调度模拟实验 专业:商业软件工程 姓名:王泽锴 学号:201406114113 一.实验目的 (1)加深对作业调度算法的理解: (2)进行程序设计的训练. 二.实验内容和要求 (1)实验 ...
- oracle rman恢复数据库 方式恢复到异地数据库
目的:从某个环境中,获取相关文件,放到异地机器使用rman 恢复. 情况说明:XX系统使用的是oracle数据库,现已从服务器拉下来相关文件,依靠这些文件来早本地的测试机上恢复数据库,方便进行数据 ...
- python ABC
因为项目需要,总是会有各种各样要重命名文件的场合,manual的方法当然不可取,bat的方法又感觉不够强大,所以就从零开始学python,就为了能够自动批量修改文件名,倒腾了一个周六,总算可以了 :) ...
- js/css在html文档中的引用外部文件方式对比
包含css样式表和js脚本的最好方式是使用外部文件,因为css/js和html标记文档可以清晰地分离. css的外部引用写在<head></head>中: <head&g ...
- 如何用Selenium 向CodeMirror 编辑器输入
用Selenium 自动填写Jenkins上面一个文本输入框,通过css定位很容易,但是输入文字的时候会报错 ElementNotVisibleException: Message: Element ...
- Linux测试环境部署jdk(一)
安装配置JDK yum install -y lrzsz 安装rz,方便xshell上传下载文件 Jdk: jdk-6u1-linux-i586 Tomcat: apache-tomcat-7.0. ...
- Android 中算法问题
1:冒泡排序: 冒泡排序的思路: 相邻的两个数进行比较 (1):首先需要连个for 循环 (2):最外层for 循环控制最里面 for 循环的循环次数 (3):通过设置中间参数的方式进行交换 (4): ...
- WEKA运行LIBSVM出现problem evaluating classifier:rand
原来这个实验已经做了的.也出现了些问题,但是上网找到了解决方法,那个时候是完成数据挖掘的课程论文,用WEKA运行LIBSVM,也没有很深入,简单跑出结果就算了. 这次想着研讨会就讲这个,想着深入进去, ...