Python基础(一)_bytearray.maketrans()、bytes.maketrans()、str.maketr-程序员宅基地

技术标签: Python基础  Python  

Python基础
1.基础知识
1.函数计算
通过变量来引用函数
foo = math.sqrt
foo(4)
cmath函数用于计算复数
2.str、repr、``比较

在Python3中已经不再使用反引号了
str函数它会把值转换为合理形式的字符串,以便用户可以理解;
repr函数它会创建一个字符串,以合法的Python表达式的形式来表示值。

3.原始字符串
r'都结束了佛;'\,./fs'
对立面的字符串不会做任何转义,但是原始字符串最后一个字符不能是反斜线,除非你对反斜线进行转义
4.input、raw_input区别

python2中的input会把输入的字符串当成一个代码来执行
Python 3中只有input函数 等价于 python2中的raw_input函数

2.列表和元组

主要区别:列表可以修改,元组则不能。

1通用序列操作:

索引、分片、加、乘、in、还有计算长度、找出最大元素和最小元素的内建函数
分片

>>>a=[1,2,3,4,5,6,7,8,9,10]
>>>a[5::-2]
[6, 4, 2]
>>>a[:5:-2]
[10, 8]


两种相同类型的序列才能进行连接操作

[1,2,3] + [4,5,6]
'Hello' + 'world!'

>>>'test'*5
'testtesttesttesttest'
>>> [12]*5
[12, 12, 12, 12, 12]

长度、最小值和最大值
len、min、max

2.list操作
字符串转列表
>>> list('Hello')
['H', 'e', 'l', 'l', 'o']
列表转字符串
>>> ''.join(['a','t','t','u'])
'attu'

改变列表:元素赋值
x[1]=2
改变列表:删除元素
del x[2]
改变列表:分片赋值

ex1.
>>> name = list('Perl')
>>> name[2:] = list('ar')
>>> name
['P', 'e', 'a', 'r']
ex2.
>>> name = list('Perl')
>>> name[1:]=list('python')
>>> name
['P', 'p', 'y', 't', 'h', 'o', 'n']
ex3.
>>> numbers=[1,5]
>>> numbers[1:1]=[2,3,4]
>>> numbers
[1, 2, 3, 4, 5]
ex4.
>>> numbers
[1, 2, 3, 4, 5]
>>> numbers[1:4]=[]
>>> numbers
[1, 5]

列表方法
append count extend index insert pop remove reverse sort cmp(x,y)
pop是唯一一个既能修改列表又能返回元素值得列表方法
cmp/key/reverse参数都可以用于sort函数

3.元组操作

tuple = (‘apple’, ‘bannana’, ‘grape’, ‘orange’)
当元组只有一个元素时,正确的写法为 tuple =(‘apple’,)

tuple 将一个序列作为参数并把它转换为元组。
tuple([1,2,3]) tuple(‘abc’)

3.使用字符串

字符串都是不可变的。
字符串格式化操作符: %

1.字符串格式化

基本的转换说明符,按一定的顺序至关重要。
(1)%字符 标记转换说明符开始
(2)转换标志
+ 表示在转换值之前要加上正负号
- 表示左对齐
0 表示转换值若位数不够则用0填充
(3)最小字段宽度: 转换后字符串至少应该具有该指定的宽度。
如果是*,则宽度从值元组中读取。
(4)点(.)后跟精度值: 如果转换是实数,精度值就表示出现在小数点后的位数;如果转换的是字符串,那么该数字就表示最大字段宽度。如果是*,那么精度将会从元组中读出。

>>> print('%-10.2f' % pi)
3.12 
左对齐 宽度为10 小数点后两位
2.字符串方法

字符串一些有用的字符串和常量:
string.digits:包含数字0~9的字符串
string.letters:包含所有字母(大写或小写)的字符串
(python3中移除了letters,该使用string.ascii_letters)
string.lowercase:包含所有小写字母的字符串
string.printable:包含所有可打印字符的字符串
string.punctuation:包含所有标点的字符串
string.uppercase:包含所有大写字母的字符串

一部分方法:
find:返回子串所在位置的最左端索引。没有找到则返回-1
join:用来连接序列中的元素
lower:返回字符串的小写字母版
replace:返回某字符串的所有匹配项均被替换之后得到字符串。
split:用来将字符串分割成序列
strip:返回去除两侧(不包括内部)空格的字符串
translate:和replace方法类似,不同是它只处理单个字符。优势在于可以同时进行多个替换,有些时候比replace效率要高得多。
Python3.4已经没有string.maketrans()了,取而代之的是内建函数:
bytearray.maketrans()、bytes.maketrans()、str.maketrans()

4.字典:当索引不好用时
1.字典的创建

方法一:

 person = {"username":"john","age":18}

方法二:

 person = dict(username='john',age=18)
2.字典的基本操作

len(d):返回字典的键值对的长度。
d[k]:获取k这个key对应的值。
d[k] = v:设置键为k的值为v,如果字典中不存在键为k的这一项,那么自动的添加进去。
del d[k]:删除d这个字典中键为k的这一项数据。
k in d:检查d这个字典中是否包含键为k的这一项。(字典中查找的是键,而不是值)
表达式v in l(l为列表)则是用来查找值。
字典中的键可以是任意的不可变类型,比如:浮点类型、整形、长整形、字符串或者元组。

3.字典的常用方法

clear:清空字典所有的key、value

person = {'username':'john','age':18}
a.clear()
print a

get:访问字典中那个键对应的那个值。这个方法不会抛出异常而是返回None。

person = {'username':'john','age':18}
username = person.get('username')
print username

has_key:判断某个键是否存在字典中。相当于k in d在Python3中这个方法不存在,所以最好使用in操作符。
pop:用来获得对应于给定键的值,然后将这个键盘和值的项从字典中删除。会返回这个值。

person = {'username':'john','age':18}
person.pop('username')

popitem:随机的移除字典中的一项。因为字典是无序的。

update:用一个字典更新另外一个字典,若有相同的键则会覆盖。

 a = {'url':'http://www.python.org/','title':"python"}
 b = {"url":"http://www.google.com/",'name':"google"}
 a.update(b)
 print a

未完待续…(持续更新)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_36261644/article/details/88651965

智能推荐

奈飞经济学_经济学案例分析 netflix-程序员宅基地

文章浏览阅读1.2k次。所谓“奈飞经济学”,是一种让用户在网上订阅视频内容的科学。——《经济学人》是什么令奈飞(Netflix)从一家DVD租赁公司,一跃成为西方的五大互联网巨头之一?它如何影响并改变了电影、电视、流媒体行业?《经济学人》定义的“奈飞经济学”概念,为你解答了这些问题。今天的议题分为三个部分:为何会诞生“奈飞经济学”概念?是什么构成了“奈飞经济学”?它为影视、流媒体行业带来了什么样的影响?每家成功的大公司,..._经济学案例分析 netflix

C++版本OpenCv教程(四)4种读取Mat类元素的的方法_c++ mat 三通道-程序员宅基地

文章浏览阅读9.7k次,点赞8次,收藏40次。目录通过at方法读取Mat类矩阵中的元素通过指针ptr读取Mat类矩阵中的元素通过迭代器访问Mat类矩阵中的元素通过矩阵元素地址定位方式访问元素对于Mat类矩阵的读取与更改,我们已经在矩阵的循环赋值中见过如何用at方法对矩阵的每一位进行赋值,这只是OpenCV提供的多种读取矩阵元素方式中的一种,本小节将详细介绍如何读取Mat类矩阵中的元素,并对其数值进行修改。在学习如何读取Mat类矩阵元素之前,首先需要知道Mat类变量在计算机中是如何存储的。多通道的Mat类矩阵是一个类似于三维的数据,而计算机的存储空间是_c++ mat 三通道

安装Mysql时出现服务未启动(start service)解决办法_mysql start service-程序员宅基地

文章浏览阅读2.4k次,点赞2次,收藏8次。安装Mysql时出现服务未启动(start service)解决办法。_mysql start service

Android开发 webview闪退,Android5以后WebView闪退问题-程序员宅基地

文章浏览阅读2.3k次。Android4.4开发项目中的webview在Android各个版本运行的飞起,可是项目升级,最低版本适配5.0之后,webview各种闪退问题真让人头大!!!!!!!!!!!!!!!啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊我太难了!仔细对比了两个项目的差异,有所发现:Android5.0的build.gradle,注意implementation 'androidx.appcompat:appcompa..._hwtriwebviewlib.apk闪退

html5定位没定到,关于html5+定位的有关经验-程序员宅基地

文章浏览阅读133次。搞了两天,终于把ios跟android端的定位搞明白了,直接看代码//定位的代码要写在plusReady()里面,而且不能用mui自带的mui.plusReady(){}if(window.plus){plusReady();}else{document.addEventListener("plusready",plusReady,false);}function plusReady(){/and..._mapobj.getuserlocation获取不到当前位置信息

Excel 函数 Indirect 使用详解_indirect函数的参数-程序员宅基地

文章浏览阅读2.4k次,点赞2次,收藏10次。或文本字符串构成的。_indirect函数的参数

随便推点

数据融合技术原理与方法_数据融合入门-程序员宅基地

文章浏览阅读3.2w次,点赞16次,收藏95次。转自:http://www.cppblog.com/COOOOOOOOL/archive/2010/03/16/109832.html数据融合(data fusion)最早被应用于军事领域。 现在数据融合的主要应用领域有:多源影像复合、机器人和智能仪器系统、战场和无人驾驶飞机、图像分析与理解、目标检测与跟踪、自动目标识别等等。在遥感中,数据融合属于一种属性融合,它是将同一地区的多源遥..._数据融合入门

在Windows服务器上启用TLS 1.2及TLS 1.2基本原理_windows 开启tlsv1.2-程序员宅基地

文章浏览阅读7.8w次,点赞2次,收藏8次。在Windows服务器上启用TLS 1.2及TLS 1.2基本原理2015-10-23 17:28在Windows服务器上启用TLS 1.2及TLS 1.2基本原理 最近由于Chrome40不再支持SSL 3.0了,GOOGLE认为SSL3.0已经不再安全了。所以也研究了一下SSL TLS加密。首先在这个网站上测试一下自己的服务器究竟处于什么水平。htt_windows 开启tlsv1.2

安装MySQL过程中(最后starting server)报错解决方案_安装mysql过程startingserver报错-程序员宅基地

文章浏览阅读161次。安装MySQL过程中(最后starting server)报错解决方案_安装mysql过程startingserver报错

VC++6.0的简单使用!(保姆级)_vc++6.0用不用加return 0-程序员宅基地

文章浏览阅读1.7w次,点赞56次,收藏195次。VC++6.0的简单使用!(保姆级)新建文件夹这个文件夹来存放新建的C文件,便于之后的整理。此文件夹放在一个自己容易找到的地方,比如桌面!打开VC++6.0新建C文件打开软件后,点击左上角文件,选择新建选择文件位置以及类型1.点击文件,选择C++ Source file2.右边文件名处,填写名称,不支持中文,数字或英文,后缀为 .c 比如1.c3.点击位置框处后三点,选择位置,目标位置为刚建好的 c 文件夹因为广告建在桌面,所以找到Desktop文件夹即可找到,Desktop默认在_vc++6.0用不用加return 0

营收增长/市值却下跌超六成,安霸的「危机」待解_安霸是如何落后的-程序员宅基地

文章浏览阅读321次。首次发布等效算力500eTOPS的AI域控制器CV3系列SoC,收购4D成像毫米波雷达公司(傲酷),一系列在汽车赛道的布局,没有能够挽救传统视觉芯片供应商安霸(Ambarella)的股价下行颓势。数据显示,在过去的4个多月时间,安霸股价从2021年12月8日最高点的216.84美元,急速下滑至83.6美元(截至美国时间4月22日收盘),总市值只剩下31.82亿美元,距离高点下滑61.45%。财报数据显示,安霸2022财年第四季度的收入为9020万美元,比2021财年同期的6210万美元增长了45%。_安霸是如何落后的

html中图片只显示部分,两种方法实现css切割图片,只取图片中一部分-程序员宅基地

文章浏览阅读6.5k次。参考地址:http://www.jb51.net/css/150036.html场景:如果一个页面有个img小图标,那么访问浏览器的时候会因为加载图片导致浏览速度放慢。这个时候将这么多的小图标放在一起,整合成一个img,那么只需要访问一张图片就可以了。就可以减少请求图片的次数整合后的img那么整合后的img有了,在使用的过程中如何获取我们想要的像素范围呢?上面的参考地址有写。我就照着做一遍吧。方法..._前端怎么让图片只展示一半内容