字符串:也是一种序列

  • 字符串是啥?
  • 索引——也可以称之为下标
  • 字符串:常用方法有哪些
    • 字符串的格式化
    • 字符串的拼接
    • 字符串的切分
    • 字符串的替换
    • 字符串的查找
    • 字符串修饰
    • 字符串的大小写转换
    • 字符串的判定
  • 练习

字符串是啥?

字符串是一个有序的,不可修改的,元素以引号包围的序列。——注意,还是一个序列。
1. 单引号

>>> print(type('hello'))
<class 'str'>

2. 双引号

>>> print(type("hello"))
<class 'str'>

3. 三个单引号或三个双引号

>>> print(type('''hello'''))
<class 'str'>
>>> print(type("""hello"""))
<class 'str'>

这里需要注意:
1)单引号 和 双引号要区分开
a) 如果字符中有单引号,那么可以使用双引号来定义该字符串,a = “what’s you name”
b) 如果字符中有单引号,且偏要用单引号来定义该字符串,那么可以使用转义符 \,a = ‘what’s you name’
c) 如果字符中有双引号,那么可以使用单引号来定义该字符串,print(‘hello “good” boy’)
2) 三引号和非三引号的区别
区别在于三引号可以定义带有换行的多行字符串,所以三引号通常用来作为长注释,多行注释。

>>> print("""hello
>world""")
hello
world
  1. 字符串是不可变的
>>> a = 'abc'
>>> a[1] = 'd'
Traceback (most recent call last):File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment

索引——也可以称之为下标

序列中有介绍,这里就不再多做介绍。字符串里的每一个个体都被称之为该字符串的一个元素

字符串:常用方法有哪些

字符串的格式化

字符串格式化适用字符串格式化操作符,即百分号%来实现

>>> format = 'hello, %s,%s enough for you'
>>> values = ('hahah', 'lisi')
>>> print(format % values)
hello, hahah,lisi enough for you

字符串的拼接

>>> l = ['a', 'b', 'c', 'd']
>>> print(''.join(l))
abcd
>>> print('m'.join(l))
ambmcmd
# +、* 在序列的例子中演示过

字符串的切分

>>> a = 'I am a badyboy'
>>> a.split()
['I', 'am', 'a', 'badyboy']
>>> a.split(' ', 2)
['I', 'am', 'a badyboy']
>>>a.split('a')
['I', 'm ', ' b', 'dyboy']
>>> a.split('a', 2)
['I ', 'm ', ' badyboy']>>> a = '''I'm a boy
I'm 20
I am in Shanghai'''
>>> a.splitlines()
["I'm a boy", 'I'm 20', 'I am in Shanghai']

注意:当以空格为切分符时,不能指定次数

字符串的替换

>>> a = 'hello boy'
>>> a.replace('o', 'a')
'hella bay'
>>> a.replace('o', 'a', 1)
'hella boy'

字符串的查找

>>> a ='hello zhangsan'
>>> a.count('a')
2
>>> a.count('y')
0
>>> a.find('h')
0
>>> a.find('w')
-1
>>> a.rfind('h')
7
>>> a,rfind('w')
-1
>>> a.index('h')
0
>>> a.index('w')
Traceback (most recent call last):File "<pyshell#33>", line 1, in <module>a.index('w')
ValueError: substring not found>>> a.rindex('h')
7
>>> a.rindex('w')
Traceback (most recent call last):File "<pyshell#35>", line 1, in <module>a.rindex('w')
ValueError: substring not found

字符串修饰

>>> a = 'hello world'
>>> print(a)
hello world>>> print(a.center(20))hello world
>>> print(a.center(20, '*'))
****hello world*****>>> print(a.ljust(20, '%'))
hello world%%%%%%%%%>>> print(a.rjust(20, '#'))
#########hello world>>> print(a.zfill(20))
000000000hello world>>> print('my name is {}, age is {}.format('derek', 28))
my name is derek, age is 28>>> b = '     123    '
>>> print(b)123
>>> print(b.strip())
123
>>> c = '****555****'
>>> print(c)
****555****
>>> print(c.strip('*'))
555
>>> print(c.lstrip('*'))
555****
>>> print(c.rstrip('*'))
****555

字符串的大小写转换

>>> a = 'abcDEFg'
>>> print(a.upper())
ABCDEFG>>> print(a.lower())
abcdefg>>> print(a.swapcase())
ABCdefG>>> b = 'this is a boy'
>>> print(a.title())
This Is A Boy>>> print(b.capitalize())
This is a boy

字符串的判定

>>> a = 'qweasd234'
>>> a.isalnum()
True
>>> b = 'asdwqe_123'
>>> b.isalnum()
False>>> c = 'qwe'
>>> c.isalpha()
True
>>> c = 'sda123'
>>> c.isalpha()
False>>> d = '123'
>>> d.isdigit()
True
>>> d = 'zxc123'
>>> d.isdigit()
False>>> e = 'ABCD'
>>> e.isupper()
True
>>> e = 'AdfDE'
>>> e.isupper()
False>>> f = 'abcdefg'
>>> f.islower()
True
>>> f = 'abcdEFg'
>>> f.islower()
False>>> g = '    '
>>> g.isspace()
True
>>> g = '   s   '
False>>> h = 'abcdefg'
>>> h.startswith('ab')
True
>>> h.startswith('sd')
False>>> h.endswith('g')
True
>>> h.endswith('fs')
False

练习

  1. 将一个英文语句以单词为单位逆序排放,例如“i am a boy”,逆序排放后为"boy am i"(华为面试题)
  2. 有如下变量 x = ’ zhoU’ 实现如下功能:
    a. 移除x变量对应的值两边的空格
    b. 判断x变量对应的值是否以‘zh’开头和以‘U’结尾,并输出结果
    c. 将x变量对应的值中的“ol”替换为“x”, 并输出结果
    d. 将x变量对应的值根据“h”分割,并输出结果
    e. 输出x变量对应的值中“U”所在索引位置
    f. 输出x变量中索引为2 和 3 的字符

Python基础从0到1自我学习(3)相关推荐

  1. Python基础(0)

    1.开始安装Python编译器: 1)首先,"工欲善其事必先利其器",咱们需要先安装Python的编译器,这个需要在 python的官网https://www.python.org ...

  2. 零基础学Python 开篇--第0节:全套学习路线

    Python入门这些你必须要知道!

  3. 阿里云天池 Python训练营Task2: Python基础练习:数据结构大汇总 学习笔记

    本学习笔记为阿里云天池龙珠计划Python训练营的学习内容,学习链接为:https://tianchi.aliyun.com/specials/promotion/aicamppython?spm=5 ...

  4. Python 基础 1.0

    对于环境: 1.Python3.X编码模式为utf-8码模式,所以可以随意输出中文字符. 2.在Python3.X中在安装时可以选择在安装时添加环境变量,无需手动添加. 3.运行Python文件在文件 ...

  5. python基础教程(第三版)学习笔记(十八)

    第十八章 程序打包 本章重点介绍Setuptools,因为这是每个Python程序员都要用到的工具.实际上,Setuptools 并非只能用于创建基于脚本的Python安装程序,还可用于编译扩展.另外 ...

  6. python 基础 9.0 安装MySQL-python-1.2.5客户端

    一. 安装客户端     python 标准数据库接口为Python DB-API,Python DB-API 为开发人员提供了数据应用编程接口.参考地址:https://wiki.python.or ...

  7. python基础知识笔记简书_Python学习笔记01——基础知识

    Python常用数据类型: 整数(int),浮点数(float),字符串(str) 布尔型(True,False),空值(None) 列表(list):一种有序集合,可以随时添加删除其中的元素. cl ...

  8. Python基础(编写程序制作英文学习词典)

    制作英文学习词典.编写程序制作英文学习词典,词典有3个基本功能:添加.查询和退出.程序读取源文件路径下的txt格式词典文件,若没有就创建一个.词典文件存储方式为"英文单词 中文单词" ...

  9. 自动化之python基础,0基础手把手教学,最细的教程通俗易懂

    失败只有一种,那就是半途而废!!! 目录 一.变量 二.python数据类型 1.number(数字) 数字类型的转换 数学运算 2.字符串 字符串的运算 3.列表 列表的运算 4.元组 5.集合 三 ...

最新文章

  1. LDAP 轻量级目录访问协议 介绍
  2. Mybatis 实现SQL拦截并在控制台打印SQL和参数
  3. 北邮计算机学不学单片机,北邮小学期PC单片机.docx
  4. YbtOJ#573-后缀表达【二分图匹配】
  5. django-csrftoken跨站请求伪造
  6. 【酷熊科技】工作积累 ----------- Unity3D 读取 图片
  7. 中国篮球--路在何方!
  8. mysql 5.0创建函数_MySQL5.0中的Function和Procedure
  9. Ubuntu13.04配置优化(一)转贴
  10. ZOJ3554 A Miser Boss(dp)
  11. 搭建HDFS和HBase集群
  12. 深入了解触摸事件的分发
  13. Python内存优化,节省内存字典ConstDict
  14. 「水花投资」是什么?是个人吗?
  15. Java中的十大组织
  16. Win7系统中,如何关闭Windows默认的防火墙? win7如何关闭防火墙
  17. visualSVN server的安装和使用
  18. 40vf什么意思_LED 的基本术语VF、IV、WL、IR 解释及光通量换算...
  19. 只有170字节,最小的64位Hello World程序这样写成
  20. struts2中如何使用servlet

热门文章

  1. 论文阅读:CNN+GCN
  2. android滚动广告图片素材,安卓手机宣传视频制作软件如何在视频底部添加一行滚动的广告语?视频加滚动水印...
  3. python智慧树判断题_智慧树_Python数据分析与数据可视化_判断题答案
  4. 10余年软件开发与系统架构经验,一起聊聊软件开发技术、系统架构技术、以及程序员最真实可行的职场打怪技能,代码之外的生存软技能。
  5. vb html listview,VB中listview控件
  6. 破解宝塔所有插件只需一句代码
  7. unity3d:弹道飞行
  8. Linux就该这么19期高清录播-入门实战-企业常见服务搭建
  9. Spring Boot入门教程(三十五):支付宝集成-准备工作
  10. 360校园招聘2016笔试题