1. 定义

    其实字符串就是一系列字符,用引号括起来的就是字符串,其中的引号可以是单引号或者双引号。

      比如 "This is a string"   'This is a string'

2. 访问字符串中的字符

    这里的访问跟我上篇列表的形式一样,可以通过索引和切片的形式访问字符

 #!/usr/bin/env python
# encoding: utf-8 str = "hello, world!" print(str[2])
print(str[2:])

    结果为:

l
llo, world!

    如果我想重复字符串的话,可以按一下操作:

 #!/usr/bin/env python
# encoding: utf-8 str = "hello, world!" print(str*4)

    结果为:

hello, world!hello, world!hello, world!hello, world!

    关键字in (not in) 判断是否在其中,并返回布尔值

 #!/usr/bin/env python
# encoding: utf-8 str = "hello, world!" print("ello" in str)
print("" in str)

    结果为:

True
False

3. 字符串的拼接输出:

    ① 通过加号+的形式拼接,    比如 a = "hello"  b = "word!"   print(a +" , " + b)   结果为:"hello, world!"     缺点就是耗内存太大,相当于新找一块存放hello, world!的内存。

    ② 通过逗号,的形式拼接,      比如 a = "hello"  b = "word!"   print(a, b)   结果为:"hello world!"

    ③ 通过内置方法join()拼接,   比如 a = "hello"  b = "word!"   print("-".join(a))   结果为:"h-e-l-l-o"

    常用的是后两个,第一个最好不要用。

 #!/usr/bin/env python
# encoding: utf-8 a = "hello"
b = "world!" print("str1 = " + a + " " + b )
print("str2 =", a, b)
print(' '.join(["str3 =",a,b]))

    结果为:

str1 = hello world!
str2 = hello world!
str3 = hello world!

4. 字符串的格式化输出:

    Python3中内置有对字符串进行格式化的操作%。例子如下:

 #!/usr/bin/env python
# encoding: utf-8 name = input("please enter your name: ")
age = int(input("Age: "))
job = input("Job: ")
salary = int(input("Salary: ")) msg = '''------info of %s------
Name: %s
Age: %d
Job: %s
Salary: %f
Your will be retired in %d years
---------end----------
''' % (name, name, age, job, salary, 65-age) print(msg)

    结果为:

please enter your name: Hyan
Age: 24
Job: Student
Salary: 23500
------info of Hyan------
Name: Hyan
Age: 24
Job: Student
Salary: 23500.000000
Your will be retired in 41 years
---------end----------

    下面是字符串格式化符号:

符   号 描    述
         %c  格式化字符及其ASCII码
         %s  格式化字符串
          %d  格式化整数
                    %u   格式化无符号整型
                    %o  格式化无符号八进制数
                    %x  格式化无符号十六进制数
                    %X  格式化无符号十六进制数(大写)
                    %f  格式化浮点数字,可指定小数点后的精度
                    %e  用科学计数法格式化浮点数
                    %E  作用同%e,用科学计数法格式化浮点数
                    %g  %f和%e的简写
                    %G  %f 和 %E 的简写
                     %p  用十六进制数格式化变量的地址

    

      格式化操作符指令: 

符号 功能
* 定义宽度或者小数点精度
- 用做左对齐
+ 在正数前面显示加号( + )
<sp> 在正数前面显示空格
# 在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')
0 显示的数字前面填充'0'而不是默认的空格
% '%%'输出一个单一的'%'
(var) 映射变量(字典参数)
m.n. m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)

    

       在需要在字符中使用特殊字符时,python用反斜杠(\)转义字符。如下表:

转义字符 描述
\(在行尾时) 续行符
\\ 反斜杠符号
\' 单引号
\" 双引号
\a 响铃
\b 退格(Backspace)
\e 转义
\000
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\oyy 八进制数,yy代表的字符,例如:\o12代表换行
\xyy 十六进制数,yy代表的字符,例如:\x0a代表换行
\other 其它的字符以普通格式输出

5. 字符串的内置方法的介绍:

  由于内置的方法太多,我这里就简单的介绍一下常用的方法。

    常用的方法:

        str = "hello world!"

        str.count('o', start= ,end=len(string)) #查找o在字符串中出现的次数。后面beg=0意思是从索引0开始查找,不写默认为0,同样end默认为字符串长度。

        str.center(50, '#')  #返回一个制定宽度的居中的字符串,第一个参数是指宽度,第二个参数是指填充物用#代替。

        str.startswith('he') #判断该字符串是否以he开头。

        str.find('o', beg=, end=len(string)) #查找o在字符串中第几个位置,返回值为索引。后面beg=0意思是从索引0开始查找,不写默认为0,同样end默认为字符串长度。这里强调的是如果找不到返回值为-1。

        str.index('o', beg=, end=len(string)) # 跟上面的find方法基本上一样,唯一的差别在于找不到的情况下,不会返回-1,而是直接报错。

        str.rfind('o', beg= end=len(string)) #跟上面的find方法差不多,唯一的差别就是从右开始查找。

        str.lower() #将字符串全部转化为小写。

        str.upper() #将字符串全部转化为大写。

        str.title() #所有的首字母大写。

        str.strip() #消除字符串前后的空格。

        str.lstrip() #消除字符串的开头的空格。

        str.rstrip() #消除字符串的结尾的空格。

        str.replace('world', 'hyan', 1)  #将字符串中world替换为hyan,参数1的意思是替换第一次出现的,2就是替换前两个。

        str.split(str="", num=string.count(str)) #将字符串进行切片,并返回一个列表。第一个参数就是分隔符,默认为空格,第二个参数是就是分割的次数。

        str.rsplit(str="", num=string.count(str)) #跟split一样,不过是从倒着切割的。

        str.isdigit() #如果字符串只包含数字,返回True,否则返回Flase

        str.format(mapping) #字符串格式化输出的另一种格式

        我们在这里具体介绍一下format方法的一些用法

 #!/usr/bin/env python
# encoding: utf-8 print("my name is {}, and the age is {}".format('hyan', ''))
print("my name is {1}, and the age is {0}".format('', 'hyan'))
print("my name is {name}, and the age is {0} and the salary is {1}".format('', '', name='hyan'))

    结果为:

my name is hyan, and the age is 23
my name is hyan, and the age is 23
my name is hyan, and the age is 23 and the salary is 23500

        从上面的例子也可以看出来,参数的传递是跟位置有关,默认是按着顺序一对一传递,也可以通过数字方式传递,也可以用关键字的方式传递。数字和关键字可以混合传递。          

  

        

        

python3知识点之---------字符串的介绍的更多相关文章

  1. python3知识点之---------列表的介绍

    1.列表是什么? 它是由一系列特定顺序排序的元素组成.元素可以表示一切任何的事物,元素之间可以没有任何关系.列表用方括号[ ] 表示,元素之间由逗号隔开.   例如表示一系列数字的列表:  numbe ...

  2. Python3中的字符串函数学习总结

    这篇文章主要介绍了Python3中的字符串函数学习总结,本文讲解了格式化类方法.查找 & 替换类方法.拆分 & 组合类方法等内容,需要的朋友可以参考下. Sequence Types ...

  3. python3入门之字符串

    获得更多资料欢迎进入我的网站或者 csdn或者博客园 经过前面的介绍相信大家也对python有了一个初步的了解:本节主要介绍字符串,不管学习什么编语言字符串一定在其中扮演着重要的地位.本节主要讲解,字 ...

  4. Python2和Python3中的字符串编码问题解决

    Python2和Python3在字符串编码上是有明显的区别. 在Python2中,字符串无法完全地支持国际字符集和Unicode编码.为了解决这种限制,Python2对Unicode数据使用了单独的字 ...

  5. ORACLE常用数值函数、转换函数、字符串函数介绍

    ORACLE常用数值函数.转换函数.字符串函数介绍. 数值函数: abs(m) m的绝对值 mod(m,n) m被n除后的余数 power(m,n) m的n次方 round(m[,n]) m四舍五入至 ...

  6. Python3 编程之字符串处理

    Python3 编程之字符串处理 在编程中最常见的任务就是字符串的处理,So,学好字符串的使用非常重要 一.变量的定义规范 Python中声明变量时,要符合以下规则为准: 只能使用数字.字母.下划线组 ...

  7. Swift字符串的介绍

    字符串的介绍 字符串在任何的开发中使用都是非常频繁的 OC和Swift中字符串的区别 在OC中字符串类型时NSString,在Swift中字符串类型是String OC中字符串@"" ...

  8. c语言学习之基础知识点介绍(十一):字符串的介绍、使用

    本节主要介绍c语言中的字符串的应用. 一:字符串介绍 因为c语言中没有像Java.C#那样的字符串类型,所以无法直接用字符串.需要借助数组来解决这个问题. /* 定义:把多个字符连在一起就叫字符串.但 ...

  9. Python3的内置函数介绍

    Python3的官网链接:https://docs.python.org/3/library/functions.html?highlight=built#ascii 内置函数介绍 abs 绝对值函数 ...

随机推荐

  1. P1567 统计天数

    题目背景 统计天数 题目描述 炎热的夏日,KC非常的不爽.他宁可忍受北极的寒冷,也不愿忍受厦门的夏天.最近,他开始研究天气的变化.他希望用研究的结果预测未来的天气. 经历千辛万苦,他收集了连续N(1& ...

  2. svn: 处于冲突状态

    svn: 提交失败(细节如下):svn: 提交终止: “/home/usa/svn/aispeech/air201102/branches/opt-vite/wvite” 处于冲突状态 删除文件夹wv ...

  3. python配置日志的几种方式

    使用的是logging模块,关于logging模块内容,可以看我的另一篇博客:https://www.cnblogs.com/kuxingseng95/p/9464347.html 作为开发者,我们一 ...

  4. (排班表一)使用SQL语句使数据从坚向排列转化成横向排列

    知识重点: 1.extract(day from schedule01::timestamp)=13 Extract 属于 SQL 的 DML(即数据库管理语言)函数,同样,InterBase 也支持 ...

  5. cx_freeze的安装使用

    python是一个非常非常优秀的编程语言,它最大的特性就是跨平台.python程序几乎可以在所有常见的平台中进行使用,而且大部分无需修改任何代码!不过,python也有一点点小缺憾(这个是由于自身本质 ...

  6. 吴恩达DeepLearning 第一课第四周随笔

    第四周 4.1深度神经网络符号约定 L=4______(神经网络层数)   4.2 校正矩阵的维数 校正要点:,, dZ,dA,dW,db都与它们被导数(Z,A,W,b)的维数相同 4.3 为什么使用 ...

  7. Hacker Cups and Balls Gym - 101234A 二分+线段树

    题目:题目链接 题意:有编号从1到n的n个球和n个杯子. 每一个杯子里有一个球, 进行m次排序操作,每次操作给出l,r. 如果l<r,将[l,r]范围内的球按升序排序, 否则降序排, 问中间位置 ...

  8. SAPバリアント

    SAPバリアント   VARI バリアント VARID バリアント一覧 VARIT バリアントテキスト VARIS バリアント割当 TVARV バリアント変数(クライアント非依存) TVARVC バリ ...

  9. 深度学习 GPU环境 Ubuntu 16.04 + Nvidia GTX 1080 + Python 3.6 + CUDA 9.0 + cuDNN 7.1 + TensorFlow 1.6 环境配置

    本节详细说明一下深度学习环境配置,Ubuntu 16.04 + Nvidia GTX 1080 + Python 3.6 + CUDA 9.0 + cuDNN 7.1 + TensorFlow 1.6 ...

  10. 20145202马超 《Java程序设计》第五周学习总结

    异常:程序在运行的时候出现不正正常的情况 由来:问题也是可以通过java对不正常情况进行描述后的对象的体现. 问题的划分:(1).严重的问题,java通过error类进行描述,对于error一般不编写 ...