Python学习-Day2-字符串

文章目录

    • 链式赋值
    • 系列解包赋值
    • 常量
  • 最基本内置数据类型介绍
    • 数字
    • 整数
    • 使用int()时限类型转换
    • 浮点数
    • 类型转换和四舍五入
    • 增强型赋值运算符
    • 时间的表示
    • 布尔值
    • 比较运算符
    • 逻辑运算符
    • 同一运算符
  • 字符串
    • 字符串基本特点
    • 字符串的编码
    • 引号创建字符串
    • 空字符串和len()函数
    • 转义字符
    • 字符串拼接
    • 字符串复制
    • 不换行打印
    • 从控制台读取字符串
    • str()实现数字转型字符串
    • 使用[]提取字符
    • replace()实现字符串替换
    • 字符串切片slice操作
    • split()分割和join()合并
    • 字符串驻留机制和字符串比较
      • 字符串驻留
      • 字符串比较
    • 成员操作符
    • 字符串常用方法汇总
      • 常用查找方法
      • 去除首尾信息
      • 大小写转换
      • 格式排版
      • 其他方法
    • 字符串的格式化
      • format()基本用法
      • 填充与对齐
      • 数字格式化

链式赋值

链式赋值用于同一个对象赋值给多个变量

x=y=123

系列解包赋值

系列数据赋值给对应相同个数的变量(个数一致)

a,b,c=4,5,6

常量

Python不支持常量,即没有与法规则限制改变一个常量的值。

最基本内置数据类型介绍

  1. 整型
    整数
  2. 浮点型
    小数
  3. 布尔型
    表示真假,仅包含:True,False
  4. 字符串类型
    由字符组成的序列

数字

+加法,-减法,*乘法,/浮点数除法,//整数除法,%模(取余),**幂
divmod()函数同时得到商和余数

整数

  • 0b或0B,二进制 0 1
  • 0o或0O,八进制 0 1 2 3 4 5 6 7
  • 0x或0X,十六进制 0 1 2 3 4 5 6 7 8 9 a b c d e f

使用int()时限类型转换

  1. 浮点数直接社区小数部分。
  2. 布尔值True转化为1,False转化为0
  3. 字符串符合整数格式(浮点数不行)则直接转成对应整数,否则报错。

浮点数

浮点数,成为float

类型转换和四舍五入

  1. float()将其他类型转换为浮点数
  2. 整数和浮点数混合运算时,表达式结果自动转型成浮点数。
  3. round(value)可以返回四舍五入的值

增强型赋值运算符

运算符和赋值符=结合可以构成增强型赋值运算符a += 1等价于a=a+1

时间的表示

可通过time.time()获得当前时刻,返回的值是以秒为单位,带微秒精度的浮点值。从“1970年1月1日00:00:00”开始。

布尔值

True和False定义成了关键字,他们的本质还是1和0,甚至还可以和数字相加。

比较运算符

Python学习-Day2-字符串_第1张图片

逻辑运算符

Python学习-Day2-字符串_第2张图片

同一运算符

同一运算符用于比较两个对象的存储对象,实际比较的是对象的地址。
Python学习-Day2-字符串_第3张图片

字符串

字符串基本特点

字符串的本质是:字符序列。单字符也是作为一个字符串使用。

字符串的编码

直接支持Unicode,可以表示世界上任何书面语言的字符。默认就是16位Unicode编码。
内置函数ord()可以把字符转换成Unicode码。
内置函数chr()可以把十进制数字转换成对应的字符。

引号创建字符串

可以通过单引号或双引号创建字符串。

空字符串和len()函数

允许空字符串的存在,不包含任何字符且长度为0。

c=''

转义字符

Python学习-Day2-字符串_第4张图片

字符串拼接

可以用+将多个字符串拼接起来。

  • 都是字符串,拼接
  • 都是数字,加法运算
  • 类型不同,抛出异常

字符串复制

使用*可以实现字符串复制。

不换行打印

不想换行可以通过参数end=“任意字符串”

>>> print("sxt",end='')
sxt>>> print("sxt",end='##')
sxt##>>>

从控制台读取字符串

>>> myname = input("请输入名字:")
请输入名字:Mandy
>>> myname
'Mandy'

str()实现数字转型字符串

str()可以帮我们将其他数据类型转换为字符串

>>> str(5.20)
'5.2'

使用[]提取字符

可以通过在字符串后面添加[],在[]里面指定偏移量,可以提取该位置的单个字符。可正向搜索,可反向搜索。

>>> a = 'asdjfklasdjf'
>>> a
'asdjfklasdjf'
>>> a[0]
'a'
>>> a[-1]
'f'

replace()实现字符串替换

>>> a.replace('s','4')
'a4djfkla4djf'

整个过程中,是创建了新的字符串对象,并指向了变量a,而不是修改了以前的字符串。

字符串切片slice操作

可以快速提取子字符串,标准格式为:
【起始偏移量start:终止偏移量end:步长step】
Python学习-Day2-字符串_第5张图片

>>> a[1:5]
'sdjf'
>>> a[1:5:2]
'sj'

Python学习-Day2-字符串_第6张图片

split()分割和join()合并

split()可以基于指定分隔符将字符串分割成多个子字符串。如果不指定分隔符,则默认使用空白字符。

>>> a = "to be or not to be"
>>> a.split()
['to', 'be', 'or', 'not', 'to', 'be']
>>> a.split("to")
['', ' be or not ', ' be']

join()用于将一系列子字符串连接起来。

>>> a = ["100","200","300"]
>>> "*".join(a)
'100*200*300'

由于效率,推荐使用join函数。

字符串驻留机制和字符串比较

字符串驻留

仅保存一份相同且不可变字符串的方法,不同的值被存放在字符串驻留池中。
对于符合标识符规则的字符串会启用字符串驻留机制。

>>> a = "abc_33"
>>> b = "abc_33"
>>> a is b
True
>>> c = "dd#"
>>> d = "dd#"
>>> c is d
False

字符串比较

可以直接用==,!=对字符串比较,是否含有相同的字符。
用is/not is,判断两个对象是否同一个对象,比较的是对象的地址。

成员操作符

in/not in 关键字,判断某个字符串(子字符串)是否存在与字符串中。

>>> a = "ahgrefwe"
>>> "h" in a
True
>>> "s" in a
False
>>> "hgr" in a
True

字符串常用方法汇总

常用查找方法

>>> a = '''我是Mandy,我是一个Python新手,希望新学 期学会Python,不会挂科。'''
>>> len(a)
40
>>> a.startswith("我是")
True
>>> a.find('会')
27
>>> a.rfind('会')
36
>>> a.count('会')
2
>>> a.isalnum()
False

去除首尾信息

strip()去除字符串首尾指定信息。lstrip()去除字符串左边指定信息,rstrip()去除字符串右边指定信息。

>>> "   Man   ".strip()
'Man'
>>> "   M a n   ".strip()
'M a n'
>>> "*M*a*n*".strip("*")
'M*a*n'
>>> "*M*a*n*".rstrip("*")
'*M*a*n'

大小写转换

Python学习-Day2-字符串_第7张图片

>>> a = "to be or not to be"
>>> a.capitalize()        '
'To be or not to be'
>>> a.title()
'To Be Or Not To Be'
>>> a.upper()
'TO BE OR NOT TO BE'
>>> a.lower()
'to be or not to be'
>>> a.swapspace()
>>>> a.swapcase()
'TO BE OR NOT TO BE'

格式排版

center(),ljust(),rjust()这三个函数用于对字符串实现排版。

>>> a.center(10,"*")
'***Man****'
>>> a.center(10)
'   Man    '
>>> a.ljust(10)
'Man       '
>>>

其他方法

Python学习-Day2-字符串_第8张图片

字符串的格式化

format()基本用法

str.format()增强了字符串格式化的功能。

>>> a = "名字是:{0},年龄是:{1}"
>>> b = a.format("小明",6)
>>>> b
'名字是:小明,年龄是:6'

填充与对齐

^、<、>分别是居中、左对齐、右对齐,后边带宽度
:号后面带填充的字符,只能是一个字符,不指定的话默认用空格填充。

>>> "我是{0},我喜欢数字{1:*^8}".format("Man","666")
'我是Man,我喜欢数字**666***'
>>> "我是{0},我喜欢数字{1:*>8}".format("Man","666")
'我是Man,我喜欢数字*****666'
>>> "我是{0},我喜欢数字{1:*>20}".format("Man","666")
'我是Man,我喜欢数字*****************666'

数字格式化

浮点数通过f,整数通过d进行需要的格式化。
Python学习-Day2-字符串_第9张图片

>>> a = "我是{0},我的存款有{1:.2f}"
>>> a.format("Man",123.123)
'我是Man,我的存款有123.12'

你可能感兴趣的:(Python学习-Day2-字符串)