python

python ,第1张

字符串 字符串的定义

由一系列字符组成的不可变序列容器,存储的是字符的编码值。


字符串的定义方法

1. 一对单引号字符串:
  'hello world'

2. 一对双引号:
  "hello world"

3. 三引号字符串:
  '''
  hello python,
  hello my world!
  '''

字符串三种定义方式的巧妙配合

1.当字符串中有单引号时,要用双引号定义该字符串
    例如:"she's a beautiful girl"
    
2.当字符串中有双引号时,要用单引号定义该字符串
    例如:'I will have "nice" holidays'
    
3.当字符串中既有单引号又有双引号时,要用三引号定义该字符串
    例如:'''
         It's the "best" way to go to school
         '''
注意:当三引号不用于定义字符串时,三引号可以起到多行注释的作用。


字符串的索引和切片 字符串索引的定义

索引即下标,也称之为编号。


可以通过编号(索引、下标)快速找到序列类型数据指定位置的元素。



注意:从左侧数下标从0开始; 从右侧数下标为-1.

索引的语法

变量名 = 容器名[索引值]

字符串切片的定义

切片是指对 *** 作的对象截取其中一部分的 *** 作。


字符串、列表、元组(后面会学)都支持切片 *** 作。


切片的语法
序列[开始位置下标:结束位置下标:步长]
注意事项:
1.不包含结束位置下标对应的数据,正负整数均可;
2.步长是选取间隔,正负整数均可,默认步长为1.
3.[:m]的含义:从字符串起点(下标为0)开始,到下标为m(不包括m)的位置结束
4.[n:]的含义:从下标为n(包括n)的位置开始,到字符串结束位置结束
5.[:]的含义:从字符串的开始到字符串结束( *** 作整个字符串)
字符串的常见 *** 作方法

查询类方法

1.index方法:
作用:查找字符串中第一次出现的子字符串的位置,可以规定字符串的索引查找范围(start,end),若无则会报错。



语法:str.index(sub,start,end) -> int 返回整型
    参数:
        sub -- 查找的子字符串
        start -- 索引的起始位置,默认为0
        end -- 索引的结束位置,默认为字符串的长度

2.count方法:
作用:统计字符串里某个字符出现的次数。


可以选择字符串索引的起始位置和结束位置。



语法:my_str.count(str,start=0,end=len(mystr))
    参数:
        str -- 为要统计的字符(可以是单字符,也可以是多字符)
        start -- 为索引字符串的起始位置,默认参数为0
        end -- 为索引字符串的结束位置,默认参数为字符串长度即len(str)
        
3.find方法:
作用:找字符串中指定的子字符串sub第一次出现的位置,可以规定字符串的索引查找范围。


若无则返回-1。



语法:str.find(sub,start,end) -> int 返回整型
    参数:
        sub -- 要索引的子字符串
        start -- 索引的起始位置。


默认值为0
        end -- 索引的结束位置。


默认值为字符串长度len(str)。


不包括end。



        
知识扩展:
    rfind方法:查找字符串中指定的字符串sub最后一次出现的位置,可以规定字符串的索引查找范围。


若无则返回-1。


*** 作类方法

1.replace方法:
作用:把mystr中的str1替换成str2,如果count指定,则替换不超过count次。



语法:my_str.replace(str1,str2, mystr.count(str1))

2.split方法:
作用:拆分字符串,通过指定分隔符sep对字符串进行分割,并返回分割后的字符串列表。



语法:str.split(str=" ",num=string.count(str))
    参数:
        str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等
        num -- 分割次数,默认为-1,即分割所有
3.strip方法:
作用:该函数的作⽤是去除字符串开头和结尾处指定的字符,不会去除字符串中间对应的字符。



语法:str.strip(chars)
     参数:
        chars -- 要去除的字符 默认为空格或换行符。



 知识扩展:
     lstrip方法:⽤于截掉字符串左边的空格或指定字符
     rstrip方法:删除 str 字符串末尾的指定字符(默认为空格)
4.join方法:
作用:将可迭代对象的元素用指定的字符连接起来
语法:'@'.join(['a','b','c']) 
结果为:'a@b@c'

调整类方法

1.capitalize方法:
作用:将字符串的第一个字母变成大写,其余字母变为小写
语法:str.capitalize()

2.title方法:
作用:所有英文单词首字母大写,其余英文字母小写
语法:str.title()

3.lower方法:
作用:将字符串的所有大写字母转换为小写字母
语法:str.lower()

4.upper方法:
作用:将字符串中的所有小写字母转换成大写字母
语法:str.upper()

5.center方法:
作用:返回一个长度为width,两边用fillchar(空字符)填充的字符串,即字符串str居中,两边用fillchar填充。


若字符串的长度大于width,则直接返回字符串str。



语法:str.center(width , "fillchar")
    参数:
        width -- 指定字符串长度
        fillchar -- 要填充的单字符,默认为空格    
        
6.ljust方法:
作用:返回一个原字符串左对齐,并使用fillchar填充(默认为空格)至指定长度的新字符串。


如果指定的长度小于原字符串的长度则返回原字符串。



语法:str.ljust(width , fillchar) -> str 返回一个新的字符串
    参数:
        width -- 指定字符串的输出长度
        fillchar -- 将要填充的单字符,默认为空格
        
7.rjust方法:
作用:返回一个原字符串右对齐,并使用fillchar填充(默认为空格)至指定长度的新字符串。


如果指定的长度小于原字符串的长度则返回原字符串。



语法:str.rjust(width , fillchar)
    参数:
        width -- 指定字符串的输出长度
        fillchar -- 将要填充的单字符,默认为空格

判别类方法

1.endswith方法:
作用:判断字符串是否以指定字符或字符串结尾
语法:str.endswith("suffix",start,end) 或 str[start,end].endswith("suffix")
    参数:
        suffix -- 后缀,可以是单个字符,也可以是字符串,还可以是元组("suffix"中的引号要省略,常用于判断文件类型)
       start -- 索引字符串的起始位置
       end -- 索引字符串的结束位置
       
2.startswith方法:
作用:判断字符串是否以指定字符或子字符串开头
语法:str.endswith("suffix",start,end) 或
str[start,end].endswith("suffix")
用于判断字符串某段字符串是否以指定字符或子字符串结尾。


-> bool 返回值为布尔类型 
    参数:
        suffix -- 后缀,可以是单个字符,也可以是字符串,还可以是元组("suffix"中的引号要省略)
        start -- 索引字符串的起始位置
        end -- 索引字符串的结束位置
        
3.isalnum方法:
作用:判断字符串是否由字母和数字组成。


str中至少有一个字符且所有字符都是字母或数字则返回True,否则返回False。



语法:str.isalnum() -> bool 返回值为布尔类型(True,False)

4.isalpha方法:
作用:判断字符串是否只由字母组成。


字符串中至少有一个字符且所有字符都是字母则返回True,否则返回False。



语法:str.isalpha() -> bool 返回值为布尔类型(True,False)

5.isdigit方法:
作用:判断字符串是否只由数字组成。


字符串中至少有一个字符且所有字符都是数字则返回True,否则返回False。



语法:str.isdigit() -> bool 返回值为布尔类型(True,False)

6.islower方法:
作用:判断字符串中的字⺟是否全由⼩写字⺟组成。


(字符串中可包含⾮字⺟字符)字符串中包含⾄少⼀个区分⼤⼩写的字符,且所有这些区分⼤⼩写的字符都是⼩写,则返回True,否则返回 False。



语法:str.islower() -> bool 返回值为布尔类型(True,False)

7.isupper方法:
作用:判断字符串中的字⺟是否全由⼤写字⺟组成。



(字符串中可包含⾮字⺟字符)。


字符串中包含⾄少⼀个区分⼤⼩写的字符,且所有这些区分⼤⼩写的字符都是⼤写,则返回True,否则返回 False。



语法:str.isupper() -> bool 返回值为布尔类型(True,False)

8.isspace方法:
作用:判断字符串是否只由空格组成。


若字符串中只包含空格,则返回 True,否则返回False。



语法:str.isspace() -> bool 返回值为布尔类型(True,False)

9.istitle方法:
作用:检测判断字符串中所有单词的⾸字⺟是否为⼤写,且其它字⺟是否为⼩写,字符串中可以存在其它⾮字⺟的字符。


若字符串中所有单词的⾸字⺟为⼤写,且其它字⺟为⼩写,则返回 True,否则返回 False。



语法:str.istitle() -> bool 返回值为布尔类型(True,False)

转义字符

1.原样输出"\"
    实例: 'skhfksdf\\nsjfslj'

2.原样输出单引号和双引号
    'skjf\'skjdf'
    "ksjfsj\"sjdfksjd"

3.原样输出%
    "要格式化的: %s, 原样输出的%%s" % '顶上来'

4.\r, \t, \n等转移字符的含义
    \r:回车符
    \t:横向制表符
    \n:换行符

字符串运算

1. "+"运算:将字符串str1与str2进行拼接
        实例:
        str1 = 'a'
        str2 = 'b'
        print(str1 + str2)  # 结果为: 'ab'

2. "*"运算:str1*n, 将字符串str1内的元素复制n次, 形成一个字符串
        str1 = 'abc'
        print(str1*3)  # 结果为: 'abcabcabc'

3. in 与 not in的区别
        in:字符 in str, 含义为如果字符在字符串str中,结果则为True,反之,则为False。



        not in:字符 not in str, 含义为如果字符不在字符串str中,结果则为True,反之,结果则为False。


列表

列表的定义方式

1.直接法:直接定义列表并赋值
2.构造方法:lst = list(可迭代对象)
3.推导式方法:利用for循环,循环向列表存入数据

列表的索引取值和切片取值

1.列表索引取值:变量名 = 容器名[索引值]
2.列表切片取值:列表[开始位置下标:结束位置下标:步长]

列表的增删改查 *** 作

列表的增加方法

1.append方法:在列表的结尾追加数据
2.extend方法:列表结尾追加数据,如果数据是⼀个序列,则将这个序列的数据逐⼀添加到列表
3.insert方法:列表序列.insert(位置下标, 数据)

列表删除的方法

1.del方法:删除列表中的指定数据
2.pop方法:删除指定下标的数据(默认为最后⼀个),并返回该数据
3.remove方法:移除列表中某个数据的第⼀个匹配项
4.clear方法:清空列表, 但列表容器还在, 只是其中的元素被清空了

列表修改的方法

1.修改: 列表[索引值] = "新的元素内容"
2.reverse方法:将列表中的数据进行逆置
3.sort方法:对列表中的数据进行排序, 会直接修改原数据

列表查找的方法

1.index方法:返回指定数据所在位置的下标
2.count方法:统计指定数据在当前列表中出现的次数
3.len方法:访问列表⻓度,即列表中数据的个数

循环遍历

1.利用while循环配合len函数实现遍历列表
    语法格式:
        i = 0
        while i  <  len(列表):
            代码块
            i += 1
            
2.利用for循环实现循环遍历列表
    语法格式:
        for 变量名 in 列表:
            代码块

列表涉及的运算

1. "+"运算:拼接列表
2. "*"运算:复制元素
3. in 与 not in: 成员判断

列表嵌套的语法格式

1.列表嵌套的形式
列表名 = [ '数据1','数据2', ['数据4', '数据5','数据6'], '数据3']
2.列表嵌套取值列表嵌套取值需要先定位到这个值所在的列表,然后在从这个列表中根据索引进行取值
3.注意:列表嵌套取值要耐心的逐级分析, 原理就是根据索引取值

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/568140.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)

保存