一、字符串进阶(格式化输出)
在python中 + 有两个作用:
a.数学运算符-->用于整形浮点型等数学直接进行加法操作 b.用来进行字符串拼接-->字符串+字符串 但是不同类型拼接在一起,需要用到格式化输出
(一)字符串拼接
money =9.9 food ='方便面' print('我想吃零食了,花了',str(money),'买了一包'food) print('我想吃零食了,花了'+str(money)+'买了一包'+food)
所谓格式化-->一种更好的输出方式 1.可以让你更方便的输出带有变量的数据 2.可以让你更方便的输出一些固定格式的数据
eg:尊敬的XX您好,您X月的账单已经发送,您使用话费XXX元 1.有标准格式 2.里面的x,是用一个变量来代替
1. f-str
最简单方便粗暴的输出方式 语法:在字符串前面加f/F,在字符串中把要输出的变量,用{}大括号包裹起来
eg:name ='辛小姐' m= 9 money2 = 100.6 print(f'尊敬的{name}您好,您{m}月的账单已经发送,您使用话费{money2}元') 大括号里的变量是可以操作的,进行数值运算,切片索引方法 eg:print(f'尊敬的{name[1:3]}您好,您{m}月的账单已经发送,您使用话费{money2+1}元')
2.占位符
通过占位符先占一个位置,后续再用具体的值补上 占了几个位置,就要补几个值 %s=str类型--占位置 放字符串 %d=int类型--占位置 放整数(有小数点会被抹除) %f=float类型--占位置 放浮点型 %.1f-->带一位小数点 %.2f-->带两位小数点 %.xf-->带x位小数 语法格式:print('我xxx%sxxx%d' %(数据1,数据2)) eg:food2 =臭豆腐 print('我喜欢吃的美食是%s'%food2) money3=6.6 print('我目前微信余额还有%f'%money3) print(""" 个人信息表姓名:%s年龄:%d工资:%.1f兴趣:%s """%(’池同学’,18,8888.8,'python')) %除了可以放变量也可以直接放数据 类型是固定死的 放的己知数据 一个位置一个坑 少了位置和多了位置都是不可以
3.format
用法跟占位符,f-str 类似,它是用大括号作为占位符,在字符串后面通过.format 来填上数据 语法格式: print('xxx{}xxx{}xxx'.format(数据1,数据2)) eg:print()'今天是{}号,天气{},我喝了{}'.format(19,'晴',药')) #花括号跟小括号里的数据是一一对应 print('今天是{0}号,天气{2},我喝了{1}'.format(19,'药','晴')) #根据下标来锁定数据 下标不要超出 #如果格式化输出里面,有个变量会反复使用,只需要在括号里,放上变量对应的下标就行,不用多次传数据
二、绝对路径和相对路径
绝对路径:完整的具体位置.例如一个软件在电脑的位置。
C:\users\mei\Desktop\day-4 格式化输出与字符编码\4.格式化输出与字 符编码.md
会从盘符出发,一步步到文件所在的具体位置
相对路径:简单位置-->有一个参考的坐标
4.格式化输出与字符编码.md 默认从当前文件(笔记)所在的文件夹出发,如果两个文件在同一个文件夹,就不需要写绝对路径,直接写文件夹就可以了
三、字符编码
计算机最底层只能识别0和1,那么从一堆0和1之间是怎么转成我们看到的字符内容的呢?
计算机底层有一个用来翻译的字典(字符集/字符编码),如果你要显示的字,字典里面没有,输出的就是乱码。
一个程序用什么编码写的,就使用对应的编码去读取/使用
1.编程语言诞生后,1963年推出第一套ASCII码里面收纳了一些常用符号,数字,字母-->没有中文,别的语言2.1995年-->国内研发出了GBK编码-->带了2万多个汉字中国台湾--> BIG5,大五码,繁体字 3.Unicode(超过14万字符)各个国家自己指定的编码标准 包括了 汉字平片 藏文 阿拉伯文等等 单个字符占据的存储内存空间太大 4.UTF-8(世界上目前最主流的字符编码) 1992年世界上有个组织,专门做的就是统一全球的一些知识,这个组织收集了很多国家语言文字,放在一起,做成一个大字典,很多国家的电脑都可以识别里面的内容
核心点:
1.目前世界上最主流的编码是UTF-8 2·一个程序是用什么编码写的,你就要用对应的编码去读取,否则会出问题
在程序每个字都是有对应的序号 ord(字符)通过字符 找到序号
chr (序号) 通过序号 找到字符
eg: ord('坤') 22372 chr(36213) '赵'
四、作业
1.以格式化输出的方式.写一个自我介绍.要求使用至少5个变量.其中需包含:str,int,float,list类型的数据 (多思考 可以用多种方法实现)