美文网首页
第四章 数据类型 (字符串、字节)str

第四章 数据类型 (字符串、字节)str

作者: 天刀笑剑钝 | 来源:发表于2018-08-29 22:54 被阅读0次

"""

第四章 数据类型 (字符串、字节)str

"""

"""

字符串:就是由字符组成的序列,字符串中的每一个元素还是字符串。

特性:字符串是不可变的序列类型。字符串的元素是有序的。

"""

# 一、字符串的创建

# 三种方式

"""

单引号

双引号

三引号

"""

# 使用单引号和双引号创建字符串,使用方式几乎一致

# 单引号和双引号交替使用可以达到输出对方的效果

s="helloworld"

s="i am 'ok'"

print(s)

s2='i am "ok"'

print(s2)

# 单引号和双引号定义字符串,一般都在一行定义 ,否则需要续行符(\)

a="引号和双引号定义字符串,一般都在引号和双引号定义字符串, "\

"一般都在引号和双引号定义字符串,一般都在引号和双引号定义字符串,一般都在"

print(a)

b="天行健,君子以自强不息。\n地势坤,君子以厚德载物"

print(b)

#三引号定义字符串,自带换行,但是三引号不是注释。

c="""

天行健,君子以自强不息。

地势坤,君子以厚德载物

"""

print(c)

# 练习:输出一首诗,使用双引号和三引号分别输出。

# 定义空字符串,不是None

str_null=""

print(type(str_null))

print(type(None))

# 二、字符串的转义序列(将特殊的字符转义)

s="i am 'ok'"

# 双引号,单引号的转义使用\,放到要转义字符的前面

s="i am \"ok\""

print(s)

# \n 换行

# \r 回车

# \n\r

# window下:

# \r,要回到当前行的行首,不会换到下一行,如果直接输出,会将之前的内容覆盖。

print("aaaa\rbbbbb")

print("aaaa\n\rbbbbb")

#\n ,代表换行,换到当前位置的下一行(常用)

print("aaa\nbbbb")

# r:在字符串定义的前面加r,能够让字符串原样输出

print(r"aaa\bbbbbb")

# 三、字符串的操作

"""

1. 运算符

2. 索引

3. 切片

"""

# 1. 运算符  +  *   in  not in    is  is not   ==  >  < !=

# + 合并  新创建字符串进行合并

a="abc"

b="bcd"

print(a,b,a+b,a,b)

# * 重复,返回的是新字符串

print(a*3,a)

print(a*3+b*2)

#in  not in 成员运算符

print("ab"  in a)

print("ac"  in a)

# is  is not 身份运算符

a="abc"

b="abc"

c=b

print(a is b)

print(c is a)

print(a ==b )

print(a ==c )

# 按元素进行比较,按照元素的ascii码进行比较

# 逐个比较

print("abc"<"abcd")

print(ord("a"))

print(ord("b"))

# 2. 索引

# 获取字符串中的单个字符串,需要使用索引

# 格式:字符串名[index]: index 可以是正数、负数、0

# 第一个元素:索引从0开始

# 正数:从左到右

# 负数:从右到左,最后一个元素是-1

# 索引是不能越界,越界会报异常。

s="abcdefg"

print(s[0])

print(s[3])

print(s[-3])

# print(s[100])

# len(o):获取字符串的长度

print(len(s))

# 索引范围: [-len(s)---len(s)-1]

# 最后一个元素:s[len(s)-1]   s[-1]

# 字符串中的元素不能修改

# s[2]="6"

# 3. 切片:获得字符串中的多个元素(按照某一个规则获得指定区域的元素)

# 格式:字符串名[start:end]

# 切片包含start,但是不包含end,到end-1

# start 和end都可以取正数、负数、0

# 区别在于方向

# start:省略,默认是0

# end:省略,默认的len(s),千万注意,不是-1

s="abcdefg"

print(s[0:3])  # end-start=截取的长度

# print(s[0:1],s[1:3])

print(s[-1:-3],"dddd")

print(s[-3:-1],"ccc")

print(s[:3],s[0:3])

print(s[1:],s[0:len(s)])

# print(s[1:],s[0:-1])

# 切片是新创建字符串(非整切片)

# 字符串的整切片指向的就是字符串本身的对象,不是新创建对象

s1=s[1:3]

print(s1,id(s1))

s2=s[:]

print(id(s[:]),id(s),id(s2))

#练习:使用字符串的切片 对日期进行获取  2018-08-20

d="2018-08-20"

year=d[:4]

print(year)

month=d[5:7]

print(month)

day=d[8:]

day=d[-2:]

print(day)

#4. 字符串的相关方法

st="abcdabcd"

# (1)count(str,start,end)统计 返回参数字符串在原串中出现的次数

# 当不写start和end参数时,默认统计的是按原字符串统计

print(st.count("a"))

# start=1 end=5  范围从1---4

print(st.count("a",1,5))

# 如果只传递一个参数 那么认为是start,结束默认为len(st)  范围是从1--len(st)

print(st.count("a",1))

# 跟切片一样,当索引(下标)超过范围时,不会报错。

print(st.count("a",20,50))

# (2) index 查找,如果查找到则返回原中的位置,如果找不到会报错

# 默认从左到右查找,查找第一次出现的位置

st="abcdabcd"

print(st.index("b"))

# print(st.index("b",2,5))

print(st.index("b",2))

# (3)find 查找,返回查找内容再原串中的位置,如果找不到不报错,会返回-1

st="abcdabcd"

print(st.find("b"))

print(st.find("b",2,5))

# 如果查找的是子串,会返回子串中第一个字符出现的位置

st="abcdabcd"

print(st.find("bc"))

print(st.find("bd"))

# (4) join:拼接字符串:将序列中的各个元素按照字符串连接。

st="abcd"

a="-"

print(a.join(st))

# (5)replace: 替换:会新创建字符串进行存储,替换结果是replace的返回值

# old:需要替换的内容

# new:替换成的内容

# count:替换的最大次数,如果不写,会将字符中符合的字符全部替换

# 会从左到右的顺序,按照替换的次数进行替换

st="abcdabcd"

print(st.replace("a","-",1))

print(st.replace("a","-",4),st)

#(6)strip 剪切,从两端去掉指定的符号

st=" abcd  "

# strip参数不写,则默认去掉空格

print(st.strip())

# 去掉两端符合条件的字符串(按挨个检索),一直去掉到不符合条件的位置。

st="aafbbcdeeafaf"

print(st.strip("a"))

print(st.strip("af"))

# 从左边剪切

print(st.lstrip("af"))

# 从右侧剪切

print(st.rstrip("af"))

#(7)split 切割:切割完的字符就没有了。

# 按照切割的参数,一分为二

# 返回值是列表

st="ab cd ef  gh d"

print(st.split(" "))

#如果split中不写参数,默认按照空格切割,会将所有的空格都切割掉。

print(st.split())

st="abababaabbaabb"

print(st.split("a"))

#(8)upper  lower

print("abcd".upper())

print("ABCDdd".lower())

# (9)isnumeric: 判断是不是数值类型

print("8".isnumeric())

print("a".isnumeric())

#(10)isalpha: 判断是不是字符

print("8".isalpha())

print("a".isalpha())

#(11)center(width,char)

#width:占位

#char: 填充的字符

s="hello world"

# 当字符串长度是奇数,填充会从右侧开始

# 当字符串长度是偶数,填充会从左侧开始

print(s.center(13,"*"))

s="hell"

print(s.center(5,"*"))

"""

字节 (序列)bytes

字节:由一些列的单字节组成

单字节:占用8个数据位: 数字 特殊的符号  英文字母等。。。不能存储汉字

"""

# 00000000

# 00000001

# 11111111

# 最多存储255种不同内容

# 一、字节创建

s="hello"

print(type(s))

# 定义字节跟字符串类似,但是需要在定义的单引号或者双引号前面加b

b=b"hello"

print(type(b))

# b=b"中国"

# 二、字节的操作:参看字符串

# 运算符、索引、切片

print(b"abc"+b"bcd")

print(b"abc"

# is ==

b=b"hello"

b1=b"hello"

b2=b1

print(b == b1)

print(b is b1)

print(b2 is b1)

print(id(b),id(b1),id(b2))

# 索引输出的是ascii

print(b[0])

# 切片不是ascii码

print(b[0:2])

# 相关方法

b=b"hello"

print(b.count(b"h"))

print(b.split(b"e"))

"""

格式化

"""

print("hello"+" world")

print("hello"+ str(8))

name="tom"

score=90

# print(name+"的成绩是"+score)

# 三种:

"""

1. %

2. format

3. 3.6之后可以是用f

"""

# 1. %

# %s === str()

# %s代表一个变量占位,后面如果有多个变量,是依次填入

name="tom"

score=90

print("%s的成绩是%s" % (name,score))

print("成绩是%s" % score)

#2.format

#{} 代表一个变量占位,后面有多个变量依次填入

s="{}的成绩是{}"

s="{0}的成绩是{1}"

print(s.format(name,score))

s="{1}的成绩是{0}"

print(s.format(score,name))

#3.f

name="tom"

score=90

print(f"{name}的成绩是{score}")

print("i am 'ok'  and 'addf'")

print(len(""))

print(bool("111"))

print("akdfjalj\\djdlkjf")

相关文章

  • 第四章 数据类型 (字符串、字节)str

    """ 第四章 数据类型 (字符串、字节)str """ """ 字符串:就是由字符组成的序列,字符串中的每一个元...

  • 2018-07-08

    Python没有专门处理字节的数据类型。但由于str既是字符串,又可以表示字节,所以,字节数组=str。而在C语言...

  • Pyhton学习笔记

    Python数据类型 基本类型数字整型 int长整形 long浮点型 float字符串文本 str字节 bytes...

  • #Python 2

    数据类型:字符串str,整数int,浮点数float 字符串拼接:“+”号 相关函数 str() 将其他数据类型...

  • #Python 3

    数据类型:字符串str,整数int,浮点数float 字符串拼接:“+”号 相关函数 str() 将其他数据类型...

  • Python字节数组与字符串之间的转换

    字节数组 ->字符串 bytes.decode() 字符串 -> 字节数组 str.encode('utf-8')...

  • Java IO流(转换流的字符编码)

    编码:字符串变成字节数组,解码:字节数组变成字符串。String-->byte[];str.getBytes[ch...

  • 2018-06-23

    数据类型之 字符串 一. 定义字符串 >>>str1="Alex" >>>str2="Alex 骑着野模唱情歌" ...

  • 02.基本数据类型--数字、字符串

    基本数据类型--数字、字符串 一、数据类型分类 1).基本的数据类型 数字:int、float 字符串:str 布...

  • 6.Python基础数据类型之字符串

    Python基础数据类型之字符串 字符串(str)字符串是 Python 中最常用的数据类型。使用引号('或")来...

网友评论

      本文标题:第四章 数据类型 (字符串、字节)str

      本文链接:https://www.haomeiwen.com/subject/trslwftx.html