最早的编码为ascii码,共256个符号。UTF-8是国际通用编码,全面支持中文,以一个字节表示英文,以三个字节表示一个中文以及其他语言;GB2312是我国自己定制的中文编码标准,使用1个字节表示英文,使用两个字节表示中文。

  切换编码的方法:

    #coding=utf-8

    #coding:GBK

    #-*-coding:utf-8 -*-

  python3中将英文、数字、汉字都当成一个字符,只提供str类型,源程序默认UTF-8编码,不提供decode()方法。

  字符串属于不可变序列,不可整改其中的元素,对于字符串提供的replace()和translate()方法,他们并不是对原字符串进行直接修改,而是返回一个修改后的新结果字符串。

1、字符串格式化

    ‘% [-] [+] [0] [m] [.n] 格式字符 ’% x

    分别为:

      格式标识,标识格式开始

      指定左对齐输出

      对正数加正号

      指定空位填0

      指定最小宽度

      指定精度

      指定类型(见表)

      格式运算符

      待转换的表达式

            指定类型表

%s 字符串 采用str()显示                              %x  十六进制整数

%r 字符串 采用repr()显示        %e  指数(基底写为e)

%c 单个字符               %E 指数(基底写为E)

%b 二进制整数               %f、%F浮点数

%d 十进制整数             %g  指数(e)或浮点数(根据显示长度)

%i 十进制整数               %G 指数(E)或浮点数(根据显示长度)

%o 八进制整数             %% 字符%

>>>'%d,%c' %(65,65)

  '65,A'

基本类型不可以转化为列表类型

可以利用format()方法来进行格式化,该方法更加灵活,不仅可以使用位置进行格式化,还支持使用与位置无关的参数名字来进行格式化,并且支持序列解包格式化字符串。

例如:

  >>>print("The number {0:,} in hex is : {0:#x},the number {1} in oct is {1: #o}".format(5555,55))

    The number 5,555 in hex is:0x15b3,the number 55 in oct is  0o67

2、字符串常用方法

  (1)、find()、rfind()、index()、rindex()、count()

      find()同index(),括号内输入模式后,返回字符串内若匹配时的第一次出现的位置,如果不匹配,前者返回-1,后者抛出异常

      rfind()和rindex()一样,上面是第一次出现,这两个是最后出现的位置

   (2)、split()、rsplit()、partition()、rpartition()

      split()和rsplit()方法分别以指定字符为分隔符,从字符串左端和右端开始将其分割成多个字符串,并返回包含分隔结果的列表

        如果没有指定分隔符,那么一切空白符都是分隔符:空格、换行、制表符

      partition()和rpartition()用来以指定字符串为分隔符将原字符串分割成3部分,即分隔符前的字符串,分隔符,分隔符后的字符串

        在其中加上第二个数字参数表示最大分割次数

   (3)、join()

      与split()相反,join()方法用来将列表中多个字符串进行连接,并在相邻两个字符串之间插入指定字符。

   (4)、lower()、upper()、capitalize()、title()、swapcase()

       lower():变小写

       upper():变大写

       capitalize():将字符串首字母变为大写

         title():将各个单词首字母大写

          swapcase():大小写互换

   (5)、replace()

      两个参数:被替换的   替换的 

      替换字符串中指定字符或子字符串的所有重复出现,每次只能替换一个字符或一个子字符串。

    (6)、maketrans()和translate()

      前者用来生成字符映射表(被替换、替换),后者根据字符映射表进行替换(字符映射表)

    (7)、strip()、rstrip()、lstrip()

      删除两端、右端、左端的空白符或连续指定字符

    (8)、eval()

      将字符串中的计算进行求值并返回数字

     (9)、关键字 in

      (not in)

      用来判断是否在字符串中

     (10)、startwith()、endwith()判断字符串是否以指定字符串开始或结束

     (11)、isalnum()  isalpha() isdigit() isspace() isupper() islower()

        分别判断是否为数字或字母、字母、数字、空白字符、大写、小写

     (12)、center()  ljust ()  rjust()

       指定字符串居中,左对齐,右对齐

3、字符串常量

  string.digits数字字符常量

  string.punctuation  标点符号常量

  string.letters  英文字母常量

  string.lowercase

  string.uppercase大小写字母常量

  string.printable  可打印字符常量  

      

最新文章

  1. hibernate理解
  2. Volley之 JsonRequest 解析JSON 数据
  3. Android应用第一次安装成功点击“打开”后Home键切出应用后再点击桌面图标返回导致应用重启问题
  4. 将MyApp.exe和Autorun.lnk添加到NK里,在project.bib文件内加入
  5. @media screen解决移动web开发的多分辨率问题
  6. 自增锁预分配ID
  7. Oracle 学习笔记(二)
  8. A Tour of Go Range
  9. (转载)struct 与typdef struct的区别
  10. JavaWEB开发中的/到底代表什么
  11. Linux环境编程相关的文章
  12. .net core 同时实现网站管理员后台、会员、WebApi登录及权限控制
  13. what a fuck!这是什么鬼东西?
  14. 手机号验证正则表达式+Demo(亲测完毕)
  15. Java程序设计的第一次作业1
  16. 【Linux基础】alias命令指定别名
  17. Python IDLE 增加清屏功能
  18. 网络编程-C/S架构
  19. scrapy框架原理学习
  20. 解决log4j和self4j日志报错Could NOT find resource [logback.groovy]及Could NOT find resource [logback-test.xml]问题

热门文章

  1. (转)C++引用
  2. 【hdu 6319】Ascending Rating
  3. java拷贝字符文件
  4. Javascript 实现锚点(Anchor)间平滑跳转
  5. ubuntu系统AndroidStudio改动内存大小
  6. iOS UI10_带分区的省市区
  7. Qt Quick 简单介绍
  8. RSA in .net and dotnet core
  9. Homebrew的安装及使用
  10. 51nod1073-约瑟夫环,递归。