字符串

作用:传递信息
字符串表达式:使用单引号或者双引号引起来的一串符号
字符串的性质
1.字符串是有序的(下标、切片)
2.字符串是不可变的(无增删改)
3.字符串的容器符号:‘’,“”,‘’‘’‘’,“”“”“”;类型:str
4.字符串分类:普通字符、转义字符、原始字符串

一、转义字符

----有特殊含义的符号
原来转义字符规定使用\ + 数字表示有特殊意义的符号;现在c语言规定\ + 特定符号表示有特殊意义的符号

print('ab\tc\nd')
print('ab\'cd')
print('ab\\tcd')

ab c
d
ab’cd
ab\tcd

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

二、原始字符串

在字符串前面添加R,r,可以将字符串中的转义字符变成其本身

print('12\t34')
print(r'12\t34')

12 34
12\t34

一个转义字符长度始终为1,添加了原始字符串得到转义长度是2

print(len(r'\t'), len('\t'))

2 1

字符串的运算

1.字符串的拼接

得到的是新的字符串对象

print('ab' + 'cd')

abcd

2.字符串的重复

print('*' * 20)

3.字符串比较大小

遵循比较第一对不相同元素的大小原则
Python使用的编码表是ASCII码表的拓展表Unicode编码表(万国码)

print('ab' > 'c') # ----> a和c比较

False

4.chr()/ord()

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

print(ord('c'))
print(ord('。'))
print('ab。' > 'abc')
print(chr(12290))

99
12290
True

注:

  • 0-9 数字对应的范围:49-57
  • A-Z 对应的范围: 65-90
  • a-z 对应的范围: 97-122
  • 左右的中文:\u4e00 - \u9fa5 (十六进制); 19968-40869(十进制)
print(chr(ord('\u4e00')), chr(ord('\u9fa5')))
for i in range(19968, 40870):print(chr(i), end=' ')

(一部分)
詇 詈 詉 詊 詋 詌 詍 詎 詏 詐 詑 詒 詓 詔 評 詖 詗 詘 詙 詚 詛 詜 詝 詞 詟 詠 詡 詢 詣 詤 詥 試 詧 詨 詩 詪 詫 詬 詭 詮 詯 詰 話 該 詳 詴 詵 詶 詷 詸 詹 詺 詻 詼 詽 詾 詿 誀 誁 誂 誃 誄 誅 誆 誇 誈 誉 誊 誋 誌 認 誎 誏 誐 誑 誒 誓 誔 誕 誖 誗 誘 誙 誚 誛 誜 誝 語 誟 誠 誡 誢 誣 誤 誥 誦 誧 誨 誩 說 誫 説 読 誮 誯 誰…

5.字符串的成员运算

in、 not in

print('a' in 'abc')

True

补充
二进制:0、1
例:A:二进制:0b01000001,十进制:65,十六进制:0x41,八进制符号:0o101

print(chr(0b01000001), chr(65), chr(0x41), chr(0o101))

A A A A

  • hex() - 将进制转换为十六进制
  • oct() - 讲进制转换为八进制
print(hex(65))
print(oct(65))

0x41
0o101

字符串的下标和切片

str1 = '''
从前有座山
山上有座庙
庙里有个老和尚
老和尚对小和尚说
'''

下标

获取第一个“山”,下标为5,换行相当于一个’\n‘

print(str1[5])

"说"的下标

print(str1[-2])

**注意:**一个回车键相当于一个’\n’,长度为1

切片

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

print(str1[1: 6])

从前有座山

2.将“庙有老”

print(str1[13:18:2])

庙有老

3.将“庙座有上山”

print(str1[-19: -24: -1])

庙座有上山

补充
一行完整的内容如何换行?

num = 1 + 2 + \3 + 4 + 5 + 6 + 7 + 8 \+ 1 + 2 + 3 + \4 + 5 + 6 + \7 \+ \82 \+ 10
print(num)
str2 = '3245678' \'9087654'
print(str2)

156
32456789087654

字符串的遍历

str1 = '王者荣耀'

直接遍历

for i in str1:print(i)




耀

间接遍历

for i in range(len(str1)):print(str1[i])
# 获取王荣
for i in range(0, len(str1), 2):print(str1[i])




耀

练习
1.“abcderf”—>“ABCDERF”

str2 = 'abcderf'
str3 = ''
for i in str2:print(chr(ord(i)-32))str3 += chr(ord(i)-32)
print(str3)

ABCDERF
2.‘abcdABDCD一二三四’—>‘ABCDabcd一二三四’

str4 = 'abcdABDCD一二三四'
str5 = ''
for i in str4:if 'a' <= i <= 'z':str5 += chr(ord(i) - 32)elif 'A' <= i <= 'Z':str5 += chr(ord(i) + 32)else:str5 += i
print(str5)

ABCDabdcd一二三四

字符串的方法和函数

1.split()

切割,以指定符号为切割点,将切割点左右的字符串分开并且保存到列表中

print('abcAKAUHFAskfnalnla/s'.upper())

ABCAKAUHFASKFNALNLA/S

2.lower()

大写字母转小写字母

print('abcAKAUHFAskfnalnla/s'.lower())

abcakauhfaskfnalnla/s

3.capitalize()

将字符串中首字母大写,必须以字母开头的字符串

print('abc123D456;.b'.capitalize())

Abc123d456;.b

5.split()

切割,以指定符号为切割点,将切割点左右的字符串分开并且保存到列表中

result1 = '1, 2, 3'.split(',')
print(result1)
print('3' + '' == '3')

Abc123D456;.B

6.split()

切割,以指定符号为切割点,将切割点左右的字符串分开并且保存到列表中

result1 = '1, 2, 3'.split(',')
print(result1)
print('3' + '' == '3')

[‘1’, ’ 2’, ’ 3’]
True

7.join()

将一个所有元素均为字符串的序列(容器)中的所有元素以指定符号拼接起来

result2 = ','.join(result1)
print(result2)

1, 2, 3

8.strip()

默认去掉字符串头尾的空符号(空格、\n、\t等都是空符号),也可以指定去除的符号

str1 = '\nabc \t\n'
print('-' * 20)
print(str1)
print('-' * 20)
print(str1.strip())
print('-' * 20)
print(str1.strip('\n'))
print('-' * 20)
print('abc--'.strip('.'))

9.replace()

替换

  • replace(‘old_str’,‘new_str’) — 将一个字符串中的全部old_str替换成new_str
  • replace(‘old_str’,‘new_str’,‘次数’) — 将一个字符串中指定数量的old_str替换成new_str
str1 = ',1, 2, 3,'
print(str1.replace(',', ' '))
print(str1.replace(',', ' ', 2))

1 2 3
1 2, 3,

应用
“你可真是个垃圾”
–主、谓、宾
–Python中有一个模块jieba
[‘你’, ‘可’, ‘真是’, ‘个’, ‘垃圾’]
–现存一个词库(停用词):
[‘垃圾’, ‘菜鸡’, ‘辣鸡’]
–如果jieba分词后的结果在停用词库中出现过,直接进行替换

str1 = "你可真是个垃圾"
stop_words = ['垃圾', '菜鸡', '辣鸡']
str2 = ''
list1 = ['你', '可', '真是', '个', '垃圾']
for i in list1:if i in stop_words:str2 += str1.replace(i, '*'*len(i))
print(str2)

你可真是个**

python学习---day6相关推荐

  1. python学习 day6 (3月7日)

    #__author : 'liuyang' #date : 2019/3/7 0007 a = ['a' , 'b' , 'c'] b = [] print(a is b ) # 空元组 可以 空列表 ...

  2. python进阶day6

    python进阶之路 Day6 hello world!今日是python学习的第六天,我将会在下面文章对基础语法进行一些介绍,主要为元组与字典的深入学习等. 1. 元组 1.1 元组是不可变列表 ​ ...

  3. pygame是python的一个库吗,python学习pygame,,基本库导入impor

    python学习pygame,,基本库导入impor 基本库导入 import pygame import sys from pygame.locals import * 初始化 pygame.ini ...

  4. python科学计数法转换_对比Python学习Go 基本数据结构

    公众号文章不方便更新,可关注底部「阅读原文」博客,文章随时更新. 本篇是「对比 Python 学习 Go」[1] 系列的第三篇,本篇文章我们来看下 Go 的基本数据结构.Go 的环境搭建,可参考之前的 ...

  5. python学习------tab补全

    python学习------tab补全   python也可以进行tab键补全 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #!/usr/bin/env  ...

  6. Python学习day5作业-ATM和购物商城

    Python学习day5作业 Python学习day5作业 ATM和购物商城 作业需求 ATM: 指定最大透支额度 可取款 定期还款(每月指定日期还款,如15号) 可存款 定期出账单 支持多用户登陆, ...

  7. Python学习系列(六)(模块)

    Python学习系列(六)(模块) Python学习系列(五)(文件操作及其字典) 一,模块的基本介绍 1,import引入其他标准模块 标准库:Python标准安装包里的模块. 引入模块的几种方式: ...

  8. 最新Python学习项目Top10!

    作者 | Mybridge 译者 | Linstancy 整理 | Jane 出品 | AI科技大本营 [导读]过去一个月里,我们对近1000个Python 学习项目进行了排名,并挑选出热度前10的项 ...

  9. 200页!分享珍藏很久的Python学习知识手册(附链接)

    这是之前入门学习Python时候的学习资料,非常全面,从Python基础.到web开发.数据分析.机器学习.深度学习.金融量化统统都有,该手册是HTML版本,左侧是目录,可以点击,右侧是对目录知识点的 ...

最新文章

  1. 3.request response
  2. 如何让phpmyadmin输入密码再进入
  3. 扩展SpringMVC以支持绑定JSON格式的请求参数
  4. 传统自定义标签(2)-Tag接口的执行流程(包含执行顺序的图片)
  5. 视图需要创建类吗_建筑类的职称需要先评初级吗
  6. 密织“地网” 南充“试水”智慧安防
  7. OpenGL Indirect Culling间接剔除实例
  8. Unity3d烘焙常见黑斑解决方法(适用5.x、2017、2018、2019版)
  9. python 字符串大小写转换 其它不变_python字符串大小写如何转换
  10. mysql 可视化监控_基于Prometheus构建MySQL可视化监控平台
  11. cmd命令关闭占用程序的端口
  12. 1t硬盘怎么分区最好_还在用128G Macbook?699元升级1T英睿达SSD
  13. Wireshark使用教程用户手册
  14. spring 视频教程
  15. shiro整合ehcache Cannot resolve reference to bean 'securityManager' while setting bean property 'secur
  16. C++ 职工管理系统
  17. 云盘同步本地文件和QQ聊天记录
  18. C语言 分支语句:if 语句和 switch语句
  19. openwrt开机启动设置
  20. Java小游戏——贪吃蛇

热门文章

  1. uboot.lds 链接文件分析
  2. 使用裁切技巧,去除视频上下黑边,保持视频画面不变形播放
  3. Python:dbus监控U盘插拔
  4. python3网络爬虫:爬取堆糖照片
  5. 使用CloudCompare渲染好看的油麦菜点云的小方法
  6. WIFI性能测试二 --- wifi的ANI功能
  7. 王半仙儿的日记-0002
  8. 全球与中国菱镁矿和水镁石市场现状及未来发展趋势
  9. 目标检测经典论文——Fast R-CNN论文翻译(中英文对照版):Fast R-CNN(Ross Girshick, Microsoft Research(微软研究院))
  10. 同济弱鸡21考研逆袭之路(四)