栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

学习python的第六天

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

学习python的第六天

字符串

作用:传递信息。

字符串表达式:使用单引号、双引号引起来的一串符号叫字符串。

字符串的性质:
  1. 字符串是有序的(下标、切片)。
  2. 字符串是不可变的额(没有增删改)
  3. 字符串的容器符号:’ ‘, " ",’‘’ ‘’',“”" “”";类型:str。
  4. 字符串的分类:普通字符、转义字符、原始字符串。
一、转义字符

有特殊含义的符号:n,t…。原来转义字符规定使用 + 数字表示有特殊意义的符号。

现在C语言规定 + 符号表示有特殊意义的符号。

+ 指定符号可以使有特殊含义的符号变成其本身,可以让没有特殊含义的符号变得有特殊意义。

print('abtcnd')
# ab	c
# d
print('ab'cd')
# ab'cd
print('ab\tcd')
# abtcd
二、原始字符串

在字符串前面添加r/R,能够让字符串中的转义字符变成其本身。

一个转义字符长度始终为1,添加了原始字符串的长度为2。

print(r'abtcnd')
# abtcnd
print(len(r't'),len('t'))
# 2 1
字符串的运用 1. 字符串的拼接(得到的是新的字符串对象)
print('ab' + 'cd')
# abcd
2. 字符串的重复
print('*' * 20)
# ********************
3. 字符串比较大小

比较第一对不相同元素的大小。

python使用的编码表是ASCII码表的拓展表Unicode编码表(万国码)

print('ab' > 'c')
# Flase  比较a与c的编码大小
print('ab.' > 'abc')
# Flase  比较.与c的编码大小

chr():能够将进制转换成对应的符号。
ord():能够将符号转换成十进制。

print(ord('。'))
# 12290
print(chr(12290))
# 。

0-9对应范围:48-57
A-Z:65-90
a-z:97-122
所有中文:u4e00-u9fa5或者19968-40870
所有韩文:4352-4608

for i in range(19968,40870):
    print(chr(i),end='')
# 一丁丂七丄丅丆万丈三上下丌不与丏丐丑丒专且丕世丗丘丙业丛东丝丞丟丠...
for i in range(4352,4608):
    print(chr(i),end='')
# ᄀᄁᄂᄃᄄᄅᄆᄇᄈᄉᄊᄋᄌᄍᄎᄏᄐᄑᄒᄓᄔᄕᄖᄗᄘᄙᄚᄛᄜᄝᄞᄟᄠᄡ...
字符串的成员运算:in、not in
print('a' in 'abcd')
# True

二进制:0、1,0b表示二进制,0x表示十六进制,0o表示八进制。

A:二进制:0b01000001,十进制:65,十六进制:0x41,八进制:0o101。

hex():将进制转换为十六进制。

oct():将进制转换为八进制。

print(chr(0b01000001),chr(65),chr(0x41),chr(0o101))
# A A A A
字符串的下标与切片

例:输出“山”和“说”

str1 = """
从前有座山,
山上有座庙,
庙里有个老和尚,
老和尚对小和尚说
"""
print(str1[5])
print(str1[-2])
# 山
# 说

回车(n):长度为1,下标随之变化。

切片
  1. 将“从前有座山”取出。

  2. 将“庙有老”取出。

  3. 输出“庙座有上山”。

    str1 = """
    从前有座山,
    山上有座庙,
    庙里有个老和尚,
    老和尚对小和尚说
    """
    print(str1[1:6])
    print(str1[15:20:2])
    print(str1[12:7:-1])
    # 从前有座山
    # 庙有老
    # 庙座有上山
    

    换行:

    num = 1+2+3

    ​ +4+5+6

    等同于:num = 1+2+3+4+5+6

    str2 = ‘215646’
    ‘55465’
    等同于:str2 = ‘21564655465’

    num = 1+2+3+4+5+6+7+8
          +8+9+0+4+2+2+45+2
    print(num)
    # 108
    
字符串的遍历

循环(遍历):直接遍历、间接遍历。

直接遍历
str1 = '王者荣耀'
for i in str1:
    print(str1,end=' ')
# 王 者 荣 耀
间接遍历
str1 = '王者荣耀'
for i in range(len(str1)):
    print(str1[i],end=' ')
# 王 者 荣 耀

获取“王“、”荣”。

str1 = '王者荣耀'
for i in range(0,len(str1),2):
    print(str1[i])
# 王 荣

练习1:将“abcdefg”转换成“ABCDEFG"

str2 = 'abcdefg'
str3 =''
for i in str2:
    a = chr(ord(i)-32)
    str3 += a
print(str3)
# ABCDEFG

练习2:’abcdABCD一二三四‘转换为’ABCDabcd一二三四‘

str4 = 'abcdABCD一二三四'
str5 = ''
for i in str4:
    if 97 <= ord(i) <= 122:
        str5 += chr(ord(i)-32)
    elif 'A' <= i <= 'Z':
        str5 += chr(ord(i)+32)
    else:
        str5 += i
print(str5)
# ABCDabcd一二三四
字符串的方法和函数 upper():将小写字母转换为大写字母
print('abc'.upper())
print('aAGbMckHbsjJJNA,。;'.upper())
# ABC
# AAGBMCKHBSJJJNA,。;
lower():将大写字母转换为小写字母
print('aAGbMckHbsjJJNA,。;'.lower())
# aagbmckhbsjjjna,。;
capitalize():将以字母开头的字符串中所有单词的首字母大写
print('canckk。;mskl1546,snbcic'.capitalize())
# Canckk。;mskl1546,snbcic
title():将字符串中所有连续英文字母的子串首字母大写
print('canckk.;mskl1546,snbcic'.title())
# Canckk.;Mskl1546,Snbcic
split():切割,以指定符号为切割点,将切割点左右的字符串分开并保存到列表中。
print('1,2,3'.split(','))
# ['1', '2', '3']
join():将一个所有元素均为字符串的序列(容器)中的所有元素以指定符号拼接起来。
print(','.join(['1','2','3']))
# 1,2,3
strip():默认去除字符串头尾的空符号(空格、n、t等都是空符号),也可以指定去除的符号。
str1 = 'nabc tn'
print('*' * 20)
print(str1)
#
# abc 	
#
print('*' * 20)
print(str1.strip())
# abc
print('*' * 20)
print(str1.strip('n'))
# abc    (后面有t形成的空格)
print('*' * 20)
print('abc*'.strip('*'))
# abc
replace():替换

replace(‘old_str’,‘new_old’):替换,将一个字符串中全部old_str替换成new_str;replace(‘old_str’,‘new_old’,‘次数’):将一个字符串中指定数量的old_str替换成new_str。

str1 = ',a,b,c,'
print(str1.replace(',',''))
# abc
print(str1.replace(',','',2))
# ab,c,

例:将不文明词语替换成*

将句子按照主、谓、宾、定、状、补等分割成一个列表。

str2 = "你可真是个菜鸡"
list1 = ['你','可','真是','个','菜鸡']
stop_words = ['垃圾','辣鸡','菜鸡']
str3 = ''
for i in list1:
    if i in stop_words:
        str3 += str2.replace(i,'*' * len(i))
print('本句话替换之后的结果:',str3)
# 本句话替换之后的结果: 你可真是个**
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/997651.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号