Python基础篇(三)
元组是序列的一种,与列表的区别是,元组是不能修改的。
元组一般是用圆括号括起来进行定义,如下:
>>> (1,2,3)[1:2]
(2,)
如果元组中只有一个元素,元组的表示有些奇怪,末尾需要加上一个逗号:
>>> (1,2,3)[1:2]
(2,)
>>> 3*(3)
9
>>> 3*(3,)
(3, 3, 3)
tuple函数
tuple函数用于将任意类型的序列转换为元组:
>>> tuple([1,2,3])
(1, 2, 3)
>>> tuple("123")
('1', '2', '3')
元组有以下2方面的用途:
第一,元组可以在映射中当键来使用,列表则不行。
第二,元组可以作为很多内建函数和方法的返回值。
字符串作为序列的一种,序列的共有操作,如索引,分片,乘法等字符串也都是支持的。
>>> website = "http://www.python.org"
>>> website[-3::-1]
'o.nohtyp.www//:ptth'
>>> website[-3:]
'org'
下面是字符串所特有的一些操作。
字符串格式化使用:
>>> format ="hello %s,%s is good!"
>>> values =('world','world')
>>> print(format % values)
hello world,world is good!
参数(values)可以使用字符串,数字,元组或者字典来进行表示。
>>> format ="PI with three decimials : %.3f"
>>> from math import pi
>>> print(format % pi)
PI with three decimials : 3.142
元组作为表达式的一部分出现时一定要加上括号:
>>> "%s plus %s equas %s" % (1,2,2)
'1 plus 2 equas 2'
以下是转换符的一些较为深入的使用方法:
转换标志:-表示左对齐,+表示要加上正负号,""表示正数之前加上空格(常用于对齐),0表示数字位数不足则用0填充
>>> '%-10.2f' %pi
'3.14 '
>>> '%10.2f' %pi #正常情况是右对齐
' 3.14'
>>> print("%+5d" % 10 + "\n"+ "%5d" % -10) #+表示要加上正负号
+10
-10
>>> print("% 5d" % 10 + "\n"+ "% 5d" % -10) #""表示正数之前加上空格
10
-10
>>> print("%010.2f" % pi) #0表示数字位数不足则用0填充,共10位,2位小数
0000003.14
转换类型:
d,i 带符号的十进制
u 不带符号的十进制
o 不带符号的八进制
x 不带符号的十六进制(小写) X 不带符号的十六进制(大写)
e 科学计数法(小写) E 科学计数法(大写)
f,F 浮点数
r,s 字符串
find函数
find函数用于查找子字符串首次出现的位置,用index函数可以完成同样功能
>>> "a little girl".find("little")
2
>>> "a little girl".index("little",1) #1表示其实位置,还可以加上搜索的结束位置
2
>>> "a little girl".find("little",1,3)
-1
join函数
join函数的作用和split函数相反,用于向字符串中增加元素
>>> seq = ['ab','cd','ef']
>>> sign = ','
>>> sign.join(seq)
'ab,cd,ef'
lower函数
lower函数用于将一个字符串中的字符全部转换为小写,islower可以判断字符串是否全是小写
>>> "A Good Language".lower()
'a good language'
>>> "A Good Language".upper()
'A GOOD LANGUAGE'
>>> "A Good Language".islower()
False
title()函数可以将字符串中每个单词的首字母改为大写
>>> "a good language".title()
'A Good Language'
replace函数
replace函数用于替换字符串中的子字符串
>>> "to be or not to be".replace("to","will")
'will be or not will be'
split函数
split函数用于将字符串按指定字符划分为序列
>>> "usr/bin/env".split("/")
['usr', 'bin', 'env']
strip函数
strip函数可以去除字符串首尾处的空格(可以是多个),类似于java的trim方法
>>> names =['jim','tom','tim']
>>> name = "tom "
>>> if name.strip() in names : print("found it")
...
found it
translate函数
translate函数配合string内置的maketrans函数可以完成字符替换的功能,例如下面将'c'替换为'k','s'替换为'z':
>>> str = "this is an incredible test"
>>> t = str.maketrans('cs','kz')
>>> str.translate(t)
'thiz iz an inkredible tezt'
Python基础篇(三)的更多相关文章
- Python基础篇(三)_函数及代码复用
Python基础篇_函数及代码复用 函数的定义.使用: 函数的定义:通过保留字def实现. 定义形式:def <函数名>(<参数列表>): <函数体> return ...
- python基础篇(三)
PYTHON基础篇(三) 装饰器 A:初识装饰器 B:装饰器的原则 C:装饰器语法糖 D:装饰带参数函数的装饰器 E:装饰器的固定模式 装饰器的进阶 A:装饰器的wraps方法 B:带参数的装饰器 C ...
- python基础篇-day1
python基础篇 python是由C语言写的: pass 占位符: del,python中全局的功能,删除内存中的数据: 变量赋值的方法: user,pass = 'freddy','freddy1 ...
- python基础篇(六)
PYTHON基础篇(六) 正则模块re A:正则表达式和re模块案例 B:re模块的内置方法 时间模块time A:时间模块的三种表示方式 B:时间模块的相互转换 随机数模块random A:随机数模 ...
- python基础篇(一)
PYTHON基础篇(一) 变量 赋值 输入,输出和导入 A:输入 B:输出 C:导入 运算符 A:算数运算符 B:比较运算符 C:赋值运算符 D:位运算符 E:逻辑运算符 F:成员运算符 G:身份运算 ...
- python基础篇(二)
PYTHON基础篇(二) if:else,缩进 A:if的基础格式和缩进 B:循环判断 C:range()函数和len()函数 D:break,contiue和pass语句 for,while循环 函 ...
- python基础篇(四)
PYTHON基础篇(四) 内置函数 A:基础数据相关(38) B:作用域相关(2) C:迭代器,生成器相关(3) D:反射相关(4) E:面向对象相关(9) F:其他(12) 匿名函数 A:匿名函数基 ...
- python基础篇(文件操作)
Python基础篇(文件操作) 一.初始文件操作 使用python来读写文件是非常简单的操作. 我们使用open()函数来打开一个文件, 获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作了. ...
- 面试题之第一部分(Python基础篇) 80题
第一部分(python基础篇)80题 为什么学习Python?==*== # 1. python应用于很多领域,比如后端,前端,爬虫,机器学习(人工智能)等方面,几乎能涵盖各个开发语言的领域,同时它相 ...
随机推荐
- BZOJ1294: [SCOI2009]围豆豆Bean
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1294 状压dp,dis[s][i][j]表示从(i,j)出发围的状态是s的最短路. 然后判断一 ...
- 搭建vue开发环境的步骤
相信很多人在刚开始学习vue这个框架的时候,在最开始搭建开发环境的时候,都会遇到一些大大小小的坑,我之前在学习angular的时候搭建过一次,过了一个月后在搭建第二次的时候,竟然有一些混乱,所以今天想 ...
- c++(快速排序)
快速排序是编程中经常使用到的一种排序方法.可是很多朋友对快速排序有畏难情绪,认为快速排序使用到了递归,是一种非常复杂的程序,其实未必如此.只要我们使用好了方法,就可以自己实现快速排序. 首先,我们复习 ...
- TCP层的分段和IP层的分片之间的关系 & MTU和MSS之间的关系 (转载)
首先说明:数据报的分段和分片确实发生,分段发生在传输层,分片发生在网络层.但是对于分段来说,这是经常发生在UDP传输层协议上的情况,对于传输层使用TCP协议的通道来说,这种事情很少发生. 1,MTU( ...
- UEP-标签
这里的标签都是常用不好理解的: formatfunc="showFormatNumer" 显示数字在页面上 ockedcolumnnum="6" 几列是不动的 ...
- docker创建ceph集群
背景 Ceph官方现在提供两类镜像来创建集群,一种是常规的,每一种Ceph组件是单独的一个镜像,如ceph/daemon.ceph/radosgw.ceph/mon.ceph/osd等:另外一种是最新 ...
- FTP下载导致Zip解压失败的原因
情形:网关通过FTP下载快钱对账文件时通过Apache下commons-net的commons-net-3.5.jar进行封装,对账文件中有中文和英文的文字,大部分情况下能够下载成功,而且也能解压成功 ...
- node学习笔记2 —— npm包管理
全局模式安装包 将包安装为全局可用的可执行命令, 并非可以从任意地方require 将 package.json中bin定义的文件软链到统一的目录下, 该目录可以通过如下方式推算出来: path.re ...
- 2017-6-14 踩坑小结(Android文件读写 相关问题)
填坑 getSlotFromBufferLocked: unknown buffer: 0xab7115e0 1. 在棉花糖(6.0)上莫名出现 未知缓冲 错误,百度了一下,貌似这个是Android6 ...
- 迈向c++的一次尝试
从C到C++说着容易做起来也不难,今天做一下尝试. ★:题目介绍:今天是一次尝试所以先从简单的题开始. ★:试题分析:由题可了解到本题目的是要做到由一个数字到一个字符串的转变. 题目简单是由于它只是让 ...