元组是序列的一种,与列表的区别是,元组是不能修改的。

元组一般是用圆括号括起来进行定义,如下:

>>> (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基础篇(三)的更多相关文章

  1. Python基础篇(三)_函数及代码复用

    Python基础篇_函数及代码复用 函数的定义.使用: 函数的定义:通过保留字def实现. 定义形式:def <函数名>(<参数列表>): <函数体> return ...

  2. python基础篇(三)

    PYTHON基础篇(三) 装饰器 A:初识装饰器 B:装饰器的原则 C:装饰器语法糖 D:装饰带参数函数的装饰器 E:装饰器的固定模式 装饰器的进阶 A:装饰器的wraps方法 B:带参数的装饰器 C ...

  3. python基础篇-day1

    python基础篇 python是由C语言写的: pass 占位符: del,python中全局的功能,删除内存中的数据: 变量赋值的方法: user,pass = 'freddy','freddy1 ...

  4. python基础篇(六)

    PYTHON基础篇(六) 正则模块re A:正则表达式和re模块案例 B:re模块的内置方法 时间模块time A:时间模块的三种表示方式 B:时间模块的相互转换 随机数模块random A:随机数模 ...

  5. python基础篇(一)

    PYTHON基础篇(一) 变量 赋值 输入,输出和导入 A:输入 B:输出 C:导入 运算符 A:算数运算符 B:比较运算符 C:赋值运算符 D:位运算符 E:逻辑运算符 F:成员运算符 G:身份运算 ...

  6. python基础篇(二)

    PYTHON基础篇(二) if:else,缩进 A:if的基础格式和缩进 B:循环判断 C:range()函数和len()函数 D:break,contiue和pass语句 for,while循环 函 ...

  7. python基础篇(四)

    PYTHON基础篇(四) 内置函数 A:基础数据相关(38) B:作用域相关(2) C:迭代器,生成器相关(3) D:反射相关(4) E:面向对象相关(9) F:其他(12) 匿名函数 A:匿名函数基 ...

  8. python基础篇(文件操作)

    Python基础篇(文件操作) 一.初始文件操作 使用python来读写文件是非常简单的操作. 我们使用open()函数来打开一个文件, 获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作了. ...

  9. 面试题之第一部分(Python基础篇) 80题

    第一部分(python基础篇)80题 为什么学习Python?==*== # 1. python应用于很多领域,比如后端,前端,爬虫,机器学习(人工智能)等方面,几乎能涵盖各个开发语言的领域,同时它相 ...

随机推荐

  1. [FZU1977] Pandora adventure

    来学插头DP了= = GDKOI前觉得不会考数位DP,GDOI前觉得插头DP用不上.. 结果令人伤感>_< 这题并不用增加状态.. 只要在形成环的时候,让形成环的位置在最后一个必走点之后, ...

  2. HDU6235-Permutation-水题-2017中国大学生程序设计竞赛-哈尔滨站-重现赛

    Permutation Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)Tot ...

  3. 二维字符数组利用gets输入

    char a[10][81];for(int i=0;i<10;i++)gets(a[i]); a是二维数组的数组名,相当于一维数组的指针,所以a[i]就相当于指向第i个数组的指针,类型就相当于 ...

  4. poj_2503(map映射)

    题目链接poj2503 Babelfish Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 38820   Accepted: ...

  5. 初识LINUX之常见命令

    玩过Linux的人都会知道,Linux中的命令的确是非常多,但是玩过Linux的人也从来不会因为Linux的命令如此之多而烦恼,因为我们只需要掌握我们最常用的命令就可以了.当然你也可以在使用时去找一下 ...

  6. Kubernetes volumes简介

    容器中的磁盘文件生命周期比较短暂,在一些比较复杂的容器应用中会产生一些问题.一.容器crash后,kubelet会重启该容器,但这些文件会丢失掉.二.pod中的多个容器经常需要共享文件.因此,Kube ...

  7. java中JFrame类中函数addWindowListener(new WindowAdapter)

    转自:http://blog.csdn.net/datouniao1/article/details/46984987:侵删. 在java编写的过程中常常遇到样的一段代码: frame.addWind ...

  8. jQuery中获取文档的高度、可视区域高度以及滚动条距页面顶部的高度

    在写页面的时候,经常会碰到这样的情况,就是要获取文档的高度.可视区域高度或者滚动条距页面顶部的高度等情况. 但我总是有些爱搞混淆了,这里还是简单做个笔记吧,这里只限于使用jQuery来获取. 1.获取 ...

  9. Android回顾系列——之HttpUrlConnect的使用

    写在前面: 最近准备一个关于Android的比赛.由于赛项要求,不得使用第三方工具.框架:故最近来温习一下Google官方提供的原始API的使用. 说实话,用惯了第三方的库,再回过头来用原生的api的 ...

  10. linux服务器,svn认证失败,配置问题,防火墙等等

    之前自己还真没设置过SVN,今天亲自动手,错误百出,真是够头疼的.在网上随便找了一篇文章,就按照文章介绍开始安装.怎么安装和设置我就不说了,这里主要记录遇到的问题. 1.不知道该怎么设置 svn:// ...