python 第六章 格式化输出与字符编码

93 阅读5分钟

大家好我是程序员_蓝天, 本文是为了方便初学者能够快速学习python,写的可能不是很好,希望大家多多包涵。 每个赞都是我前进的动力。

字符串进阶(格式化输出)

所谓格式化输出 --> 让你可以更方便的输出一些带有变量的数据.或输出一些带有格式的数据  
本质:一种更好的输出方式,让你可以更灵活的使用字符串

字符串拼接

name = '程序员_蓝天'
age = 18
字符串+字符串  
print('我叫'+name) # 合法的,两个字符串拼接
#pint('大家好,我叫'+name+'我今年'+age+'岁')#会报错字符串不能与数字相加
print('大家好,我叫',name,'我今年',age,'岁')

f-string

string是字符串的全拼 str是缩写  
f-str  
最简单也是一个比较常用的格式化输出的方式  
语法: 在字符串前面加个f/F,把要输出的变量用{}包裹起来  
print(f'XXX{变量}XXX{变量}')  
print(f'大家好,我是{name},我今年{age}岁')  
print(f'大家好,我是{name[:2]},我今年{age+3')  
在大括号里面的变量,是可以进行操作的:增删改查方法,切片,数值运算  

占位符

通过占位符的概念,先占住一个位置,后续再用实际值补上

语法:  
    print("XXX%dXXX"% 数据)  
    print("XXX%dXXX%s"% (数据1,数据2))  

案例:  
    print('大家好,我是%s'%(name))
    print('大家好,我是%s,我今年%d岁'%(name,age))
%后面放入的除了变量外,也可以直接写数据  
占位符和放入的数据的数量得一一匹配.你占了几个位置,你后面就要放几个数据,不能多也不能少。

如果只有一个占位.直接在%后面把数据写上就好.如果有好几个占位,那就把后面取代的值用元组包裹  

语法:  
    'XX%dXX'%18  
    'XX%dXX%s'%(18,'程序员_蓝天')

            
format

语法:  
    print("XX{}XX{}".format(数据1,数据2))   

案例:  
    print("大家好,我是{},我今年{}".format(name,age))  
    print("大家好,我是{},我今年{}".format('程序员_蓝天',18))

特别写法:  
    print("XX{下标}XX{下标}".format(数据1,数据2))   
    print('你好,我是{},今天是{}号,赚了{}'.format('蓝',1,100.00))
    print('你好,我是{2},今天是{0}号,我赚了{1}元'.format('蓝',1,100.00)
语法:  
    'XXX{}XXX'.format(数据)  

占位符的概念

这个是我个人认为较齐全的占位符概念:c.biancheng.net/view/2177.h…

通过占位符,先预定占住一个位置,后续再用实际的值来补上  
图书馆 --> 人多 --> 放本书,表示这里有人坐了 --> 生活中的占位  
在开发中,会有不确定使用的数据具体是啥的情况.就先用占位符占个位置  

%s = 字符型 --> 占个位置,后面会放一个字符串  
%d = 整型 --> 占个位置,后面会放一个整数,如果有小数点会被抹掉  
%f = 浮点型 --> 占个位置,默认是6位小数点  
%.1f --> 保留一位小数点  
%.2f --> 保留两位小数点  

    

字符编码

计算机显示出来的所有文字,在底层都有一个用来翻译的字典(字符集/字符编码),如果你要显示的字,字典里没有.输出的就会变成乱码  
在编程语言诞生之后,推行出了第一套字符编码,叫ascii,里面收录了英文字母,数字,特殊符号 --> 没有中文,日文等别的语言  
    1995年 --> 国内推行出了GBK编码 --> 2万个汉字      
目前世界上最主流的字符编码 --> utf-8(万国码)  
    世界上有个组织,专门做一些统一世界知识的一些操作.这个组织收集了很多国家的语言文字,做成了utf-8  
就像一个字典,里面能翻译识别大部分国家的语言  
1.目前世界上最主流的字符编码是utf-8  
2.一个程序,它是用什么编码写的,你就用什么编码去使用/读取它 --> 解铃还需系铃人  
转码 --> 把数据转换成别的字符编码或者别的格式  
a = '你好'
b = a.encode() # 把a转换为一个处理后的二进制字符串  
print(b)  
c = a.encode(encoding='GBK') # 把a以GBK的方式来转换  
print(c)  

ord(字符) --> 通过字符,找到序号  
chr(序号) --> 通过序号,找到字符  

    

绝对路径与相对路径

绝对路径: 一个完整的地址,在电脑文件中一般是从盘符开始算,较长  
相对路径: 一个相对的地址,在电脑文件中一般从当前文件夹出发   

运算符

python里的=和==,一个等号是赋值,两个等号才是用来判断是否相对  
赋值运算语法糖  
    age = 18   
    现在: age += 1 # 等价于 age = age+1  

逻辑运算:  
    and: 当有多个条件时,都满足了才为真  
    or: 当有多个条件时,满足一个就为真  
    not: 反着来  

成员运算符:  
    判断一个数据,是否被包含  

li = [1,2,3,4,5,6,7]  
in: x在y里面  
    6 in li # 判断li里面有没有6这个值,返回值为bool  
not in : x不在y里面  
   8 not in li # 判断li里面是不是没有70这个数据,返回值为bool

gsh.png

原创-程序员_蓝天