Python教程

Python Day2

本文主要是介绍Python Day2,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、字符串

1.语法

  • 一对引号字符串
name1 = 'Tom'
name2 = "Mick"
str = "I'm Tom"
str2 = 'I\'m Tom'
  • 三引号字符串
name1 = '''Tom'''
name2 = """Mick"""

2.下标(“索引”、“编号”)从0开始

name = 'lalalala'

print(name[0])

3.切片

切片是指对操作对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。

3.1语法 

字符串序列名[开始位置下标:结束位置下标:步长]

  • [开始下标:结束下标) → 结束位置下标不包括(左闭右开),正负数均可
  • 步长是间隔,正负数均可,可省略,默认值为1
str = '0123456'
#正数
print(str[2:4:1]) #输出:23 → 间隔1位

print(str[2:4]) #输出:23 → 默认间隔1位

print(str[0:6:2]) #输出:024 → 间隔2位

print(str[:4]) #输出:0123 → 默认从0位开始,间隔1位

print(str[2:]) #输出:23456 → 默认输出至结尾,间隔1位

print(str[:]) #输出:0123456 → 默认选取所有,间隔1位

#负数
print(str[::-1]) #输出:6543210 → 倒序输出

print(str[4:2:-1]) #输出:43

print(str[-4:-1]) #输出:345 → 倒数第四位-倒数第二位<从左到右>(左闭右开最后一位不算)

print(str[-1:-4:-1]) #输出:654 → 最后一位-倒数第三位<从右向左>(左闭右开倒数第四位不算)

 4.字符串常规操作

4.1查找  (注:开始和结束位置的下标都可以省略,此时 表示在整个字符串中查找)

查找子串在字符串中的位置或出现的次数。

  • find():从左侧开始查找,检查目标子串是否包含在字符串中,若存在,返回子串第一次出现时开始位置的下标,否则返回-1。

        语法

        字符串序列名.find(‘目标子串’,开始位置下标,结束位置下标) → 表示在特定范围内查找

  • index():从左侧开始查找,检查目标子串是否包含在字符串中,若存在,返回子串第一次出现时开始位置的下标,否则报错。

        语法

        字符串序列名.index(‘目标子串’,开始位置下标,结束位置下标) → 表示在特定范围内查找

  • count():返回目标子串在字符串中出现的次数,没出现就是0次。

        语法

        字符串序列名.count(‘目标子串’,开始位置下标,结束位置下标) → 表示在特定范围内查找

  • rfind():和find()功能相同,但查找方向为右侧开始。
  • rindex() :和index()功能相同,但查找方向为右侧开始。
    s = "hello fucking world ,hello sunshine,hello beautiful girls"
    print(s.find('llo')) #输出:2 → 找到第一个llo
    
    print(s.find('llo', 10, 30)) #输出:23
    
    print(s.find('llos')) #输出:-1
    
    print(s.index('llos')) #报错
    
    print(s.count('llo')) #输出:3
    
    print(s.rfind('llo')) #输出:38 → 找到最后一个llo

4.2修改

通过函数形式修改字符串中的数据

  • replace():替换。(注:替换次数可以省略,代表全部替换)

        语法

        新字符串序列名 = 字符串序列名.replace(‘旧子串’,‘新子串’,替换次数)

s = "hello fucking world ,hello sunshine,hello beautiful girls"

#输出:hi fucking world ,hi sunshine,hi beautiful girl
new_s = s.replace('ello', 'i')
print(new_s)

#输出:hi fucking world ,hello sunshine,hello beautiful girl
new_s = s.replace('ello', 'i', 1)
print(new_s)

        ✔原字符串并未修改,而是定义了一个新的字符串 → 字符串是不可变数据类型

  • split():按照指定字符分割字符串。(注:num表示分割字符出现的次数,最终返回的数据个数为num+1个)→ 返回一个列表

        语法

        列表名 = 字符串序列名.split(‘分割字符’,num)

s = "hello fucking world ,hello sunshine,hello beautiful girls"

#输出:['he', ' fucking world ,he', ' sunshine,he', ' beautiful girls']
list = s.split('llo')
print(list)

#输出:['he', ' fucking world ,he', ' sunshine,hello beautiful girls']
list = s.split('llo', 2)
print(list)

        丢失分割字符 

  • join():用一个字符或子串合并字符串,即将多个字符串合并为一个新的字符串。

        语法

        新字符串序列名 = ‘字符或子串’.join(多字符串组成的序列)

#输出:a&&b&&c
list = ['a', 'b', 'c']
new_s = '&&'.join(list)
print(new_s)

         ✔可将列表连成字符串,也可将几个字符串连在一起

  • capitalize():将字符串第一个字母转换成大写(注:转换后只有字符串第一个字符大写,其他字符全部小写)
s = "hello fucking world ,hello sunshine,hello beautiful girls"
#输出:Hello fucking world ,hello sunshine,hello beautiful girls
print(s.capitalize())
  • title():将字符串每个单词首字母转换成大写。<标题格式> 
s = "hello fucking world ,hello sunshine,hello beautiful girls"
#输出:Hello Fucking World ,Hello Sunshine,Hello Beautiful Girls
print(s.title())
  • lower():将字符串中大写转换成小写。<所有>
  • upper():将字符串中小写转换成大写。 <所有>
  • lstrip():删除字符串左侧空白字符。
#输出:hello fucking world ,hello sunshine,hello beautiful girls   。
mystr = "   hello fucking world ,hello sunshine,hello beautiful girls   。"
print(mystr.lstrip())
  • rstrip():删除字符串右侧空白字符。
  • strip():删除字符串两侧空白字符。
  • ljust():使字符串左对齐,并使用指定的字符(默认空格)填充右侧至对应长度。

        语法

        新字符串序列名 = 字符串序列名.ljust(目标长度,‘填充字符’)

  • rjust():使字符串右对齐,并使用指定的字符(默认空格)填充左侧至对应长度。

        语法

        新字符串序列名 = 字符串序列名.rjust(目标长度,‘填充字符’)

  • center():使字符串居中,并使用指定的字符(默认空格)填充两侧至对应长度。

        语法

        新字符串序列名 = 字符串序列名.center(目标长度,‘填充字符’)

 4.3判断

判断真假,返回  True或False

  • startswith():检查字符串是否以指定子串开头,是则返回True,否则返回False。

        语法

        字符串序列名.startswith(‘子串’,开始位置下标,结束位置下标)

  • endswith():检查字符串是否以指定子串结尾,是则返回True,否则返回False。
  • isalpha():若字符串非空且所有字符都是字母,则返回True,否则返回False。(不能带空格)
  • isdigit():如果字符串只包含数字,则返回True,否则返回False。(不能带空格)
  • isalnum():如果字符串非空且所有字符都是字母或数字,则返回True,否则返回False。(不能带空格)
  • isspace():若为空白字符(由空格组成的),则返回True,否则返回False。

二、列表(可以一次性存储多个数据,且可为不同的数据类型)

1.格式

[数据1,数据2,数据3,......]

2.列表的常规操作1——“查找”

2.1下标

list = ['A', 'B', 'C']
print(list[0]) #输出:A
print(list[1]) #输出:B
print(list[2]) #输出:C

2.2函数

  • index():返回指定数据所在位置的下标。(与字符串中相同)

        语法

        列表序列名.index(‘目标数据’,开始位置下标,结束位置下标) → 表示在特定范围内查找

  • count():统计指定数据在当前列表中出现的次数。
  • len():访问列表长度,即列表中有多少个数据。字符串、列表、元组、字典都可以使用

        语法

        len(列表序列名)  = length

 2.3判断是否存在

  • in:判断指定数据在某个列表序列,若在则返回True,否则返回False。
  • not in:判断指定数据不在某个列表序列中,若不在则返回True,否则返回False。
    list = ['A', 'B', 'C']
    print('A'in list) #输出:True
    
    print('D'in list) #输出:False
    
    print('D'not in list) #输出:True
    
    print('A'not in list) #输出:False
    #实例
    list = ['A', 'B', 'C']
    name = input('请输入要查找的人名:')
    if name in list:
        print(f'{name}存在')
    else:
    #elif name not in list:
        print(f'{name}不存在')

    3.列表的常规操作1——“增加”

向列表中添加指定数据。

 3.1语法

这篇关于Python Day2的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!