一.字符串就是一系列字符。在Python中,用引号括起的都是字符串,其中的引号可以是单引号,
也可以是双引号

我们知道,python以方便著称,它的每一个设计一定有它的用意,当我看到这句话时,就在想,这种设定的用意是什么。为什么别的语言没有的设定python就有了。

在书中是这么说的:这种灵活性让你能够在字符串中包含引号和撇号

当时我还不太明白,于是打开了idea,dev-c++,pycharm,三种语言进行比较。然后发现,c和java要想输出 This is a string,“123456” 这样包含双引号的字符串,就必须用转义字符
String s="This is a string,\“123456\” “;
把引号转义过来。
而python因为多了’ ’ 也可以表示括住的是字符串,所以可以直接在’'里写”"而不需要转义,即
s2=‘This is a string,“123456”’

二.字符串的常用函数
当我在一个字符串后表面点一下之后,pycharm出现该画面:

于是我决心把它出现的函数都搞懂。

1.lower()
它的作用是把字符串的所有大写字母都转成小写字母

2.upper()
与lower()作用相反

3.format()
在python里,这是一个格式化字符的方法,但是我觉得叫它格式化函数并不准确,准确地说,它应该是填充格式化内容的函数

什么是格式?
请假条有请假条的格式,检讨书有检讨书的格式。我们先来看一张请假条的图片:

这就是请假条的格式
格式是死的,信息是活的,所以在程序里,我们用format函数去填好这张请假条,这样,请假条代码只需要写一次,就可以给无数人使用。我猜测,网上请假,就是用format填充函数去请的。我们输入的信息就是format的参数。

顺便提一句,在python里,用"""三对引号就可以任意像平时在纸上写字那样分行。
补充知识:input()函数就是输入函数,x=input(),x就等于你等下在控制台输入的值。括号里可以写提示文字,等下你们看见程序结果就知道了。代码如下:


s="""尊敬的{0}老师:我是{1}班学生,我叫{2},因{3}事情需请假,我家住在{4},联系电话{5}。出行方式:{6}离校时间:{7},返校时间:{8}。班主任签字:  年级主任签字:  请假人:{9}{10}年{11}月{12}日"""
tsurname=input("请输入老师的姓氏:")
cnumble=input("请输入你所在的班级:")
myname=input("请输入你的姓名:")
reason=input("请输入请假原因:")
address=input("请输入家庭地址:")
phone=input("请输入联系电话:")
mode=input("请输入出行方式:")
leavetime=input("请输入离校时间:")
returntime=input("请输入返校时间:")
print("请输入落款时间:")
x=input("年:")
y=input("月:")
z=input("日:")
print(s.format(tsurname,cnumble,myname,reason,address,phone,mode,leavetime,returntime,myname,x,y,z))

运行结果:

这就是程序输出结果。怎么样?还是有点好玩的。另外,format的功能比这更加全面。
第一,{}里的数字是函数参数的索引,如果交换,填充的内容也会交换,比如你写了如下代码:

s='这次选美大赛的前4名是:{0},{1},{2},{3}'
print(s.format('林黛玉','薛宝钗','刘亦菲','上官婉儿'))

运行出如下结果:

突然你觉得你们家婉儿才最好看,而你又刚好不喜欢林妹妹悲切的气质,于是你想把她二人的名次换一下,那么不需要移动姓名,只需要动两个数字就行:

s='这次选美大赛的前4名是:{3},{1},{2},{0}'
print(s.format('林黛玉','薛宝钗','刘亦菲','上官婉儿'))

结果如下:

再强调一下,{}里的数字不是指括号的个数,而是format()函数()里参数的索引,就像数组的下标一样。此图为证

第二,它可以用key来填充
不知道key是啥的没关系,简单地说它就是一个索引,只不过这个索引可以是指明的汉字或其它符号,而不会限制于数字。

s='{name}好呀,你有{object}吗'
print(s.format(name='小帅哥',object='女朋友'))

运行结果:

同样,我好奇用key比用数字索引有什么方便之处,然后发现它因为函数参数指明了变量名,所以函数括号里的内容不用按顺序来写,我把object写在前面,name写在后面,不过因为我只调换了变量名,没调换内容,所以输出的句子有点怪

第三,可以用列表来填充
没学列表没关系,它其实就是其它语言里的数组。

list0=['一年级','二年级','三年级','四年级','五年级','六年级']
print('{list[0]}的小偷,{list[1]}的贼,{list[2]}的美女没人追,{list[3]}的帅哥一大堆,{list[4]}的情书满天飞,{list[5]}的情侣一对对'.format(list=list0))
print('{0[0]}的小偷,{0[1]}的贼,{0[2]}的美女没人追,{0[3]}的帅哥一大堆,{0[4]}的情书满天飞,{0[5]}的情侣一对对'.format(list0))

两行print表示两种用列表填充的方式,用0来替代字符串里的列表名也是挺方便的。运行结果如下:

第四,可以用字典来填充
字典没学的同学以后再来看吧,我继续讲我的

dict={'a':'一片雨','b':'谁梦里'} #字典
s='你挥毫{name[a]},随风去入{name[b]}'
print(s.format(name=dict))

注意name 和 dict 的 key一定要一样。运行结果:

第五,魔法参数的用法

list=['我','你']
dict={'a':'人间','b':'天堂'}
print('{}在{a}彷徨,寻不到{}的{b}'.format(*list,**dict))

运行结果如下:

可以看到,用到列表或者字典时,用魔法参数*list,**dict要方便地多

再上一个单独用地例子:

python,基础-字符串(1)相关推荐

  1. 重温Python基础——字符串

    哈喽,兄弟们, 本文带大家复习一下Python基础中的字符串,不知道大家还记得多少内容呢? 字符串 1.字符串就是一系列字符 在python中,用引号括起的都是字符串,其中引号可以是单的,也可以是双的 ...

  2. python 基础 字符串烧烤流程

    字符串详细解答及有关函数 表现形式 特殊情况的输出:转义字符 输入输出 读取与切片 字符串修改及删除 字符串常用函数解析 常用内置函数 大白话和你一起学python,最基础的内容,希望和大家一起学习, ...

  3. Python基础-字符串(字符串常用函数/操作/字符串遍历)

    字符串就是一串字符, 表示文本类型的数据, 可以用"一对双引号"或者'一对单引号'定义一个字符串, 字符串定义格式为 字符串变量名 = '字符串的文本内容' 常用函数/操作 获取字 ...

  4. Python基础——字符串的使用

    一.字符串的驻留机制   在Python中字符串是基本数据类型,是一个不可变的字符序列,即不具备增删改等操作.   什么叫字符串驻留机制?   仅保存一份相同且不可变字符串的方法,不同的值被存放在字符 ...

  5. python基础字符串(二)

    解释: 如何定义字符串,单引号和双引号,三个单引号. "\" 反斜杠是转义的意思 # 这里\n是换行 b = '''hhehe\nlala'''# 反斜杠的使用 c = " ...

  6. Python基础——字符串、列表、元组

    字符串常用方法 主要包括:replace.find.count.split.partition.upper.lower.strip.join.format - replace(old,new) 对字符 ...

  7. Python基础----字符串

    a = dir(str) print ('str常用的方法:') for i in a:if i[0] != '_':print (i) str常用的方法: capitalize casefold c ...

  8. python基础===字符串的制表,换行基础操作

    \n\t 制表符和换行符 >>> print("Languages:\n\tPython\n\tC\n\tJavaScript") Languages:Pytho ...

  9. python基础: 字符串操作

    字符串 定义: 使用引号括起来的一串字符 一对单引号.一对双引号.三对单引号.三对双引号 转义:使用 '\',使原来有特殊含义的字符变成普通字符,也可以在定义字符串的前面加一个'r' 字符串拼接 s1 ...

  10. Python基础----字符串填充的几种方法

    背景介绍 在有些时候,我们需要固定长度的字符串作为某些后续步骤的输入,但是手头的字符串很可能是变长的,因此在这种情况下,我们就需要使用某些方法对字符串进行填充,使其长度符合要求.下面介绍几种在pyth ...

最新文章

  1. 硬盘FAT32转NTFN格式的命令
  2. 【新星计划】MATLAB plot绘制图像
  3. TCP/IP的四层负载均衡
  4. 使用记事本写java程序并编译运行过程
  5. 获取字段_数据库中敏感字段的标记、标示
  6. LeetCode Min Stack 最小值栈
  7. CAD迷你画图2019破解补丁|CAD迷你画图2019r3注册机下载
  8. IE浏览器打开网页之后,右键,选择“查看源文件”后打开桌面窗口的问题
  9. 数据结构与算法(回文数与括号匹配问题)
  10. ajax dojo deferred,Dojo学习-14:Ajax with dojo/request
  11. 数学分析:有理数的稠密性证明
  12. 萌新小白学3D建模需要什么软件,十年经验建模师为你解答,速看
  13. 云养猫云养狗,一个可以救助流浪猫猫和狗狗的平台
  14. 5G-SUPI-SUPC-IMSI
  15. 全面了解超声波传感器
  16. 中国物联网微控制器市场现状研究分析与发展前景预测报告(2022)
  17. 利用python在网上接单赚钱,兼职也能月入过万,还不赶紧学起来...
  18. SEO优化 - robots协议
  19. NAS存储中如何启用多媒体服务器?
  20. PyQt5 QThread

热门文章

  1. OD CE找数据总结(上)
  2. 计算机网络学生机怎样连接总机,极域课堂管理系统怎么连接老师 学生端连接问题解决方法...
  3. B2C商城项目源码,基于Java开发的高可用分布式B2C商城系统,Java+Spring MVC+Dubbo+Zookeeper+MySQL+Redis+FastDFS+Nginx+Solr
  4. 传奇人物李兴平5000万卖掉hao123后在做什么
  5. 如何做好创业公司CEO - 量力而行
  6. python找不到指定模块sklearn怎么办_python中sklearn找不到指定模块怎么办
  7. 如何判断自己外网IP是否为真实公网IP,以及解决方案
  8. java流意外结束_SyntaxError:输入节点js的意外结束
  9. Docker教程(二):docker常用命令
  10. SpringBoot 项目修改html后不需要重新启动(热部署)