首页 > 编程语言 > 详细

Python基础二

时间:2018-01-23 15:26:24      阅读:228      评论:0      收藏:0      [点我收藏+]

一、格式化输出:占位符

编写代码,输出以下内容:会发现,用字符拼接的方式还难实现这种格式的输出,需要把要打印的格式先准备好

技术分享图片

由于里面的 一些信息是需要用户输入的,你没办法预设知道,因此可以先放置个占位符,再把字符串里的占位符与外部的变量做个映射关系

example= ‘‘‘
-  -  -  -  -  -  - THE Author is %s -  -  -  -  -
NAME :   %s
Age  :   %d
Sex  :   %s
Hobby:   %s
-  -  -  -  -  -  THE  END-  -  -  -  -  -  -  -  -  -
‘‘‘%(jerd,Jockfi,int(20),gentleman,basketball)
print(example)

#这里的每个%s就是一个占位符,代表后面括号里的jerd %s就是代表字符串占位符 还有%d,是数字占位符
第二种方法,利用字典的格式

技术分享图片
#第一种写法:
name = input(请输入你的名字:)
age = int(input(请输入你的年龄:))
score = int(input(请输入你的成绩:))
msg = 我叫%s,今年%d岁,成绩为%d分%(name,age,score)
print(msg)

#第二种写法:利用字典的格式
name1 = input(请输入你的名字:)
age1 = input(请输入你的年龄:)
score1 = input(请输入你的成绩:)

msg = 我叫%(name)s,今年%(age)s岁,成绩为%(score)s分   %{age:age1,name:name1,score:score1}
 print(msg)
View Code

问题:现在有这么行代码

msg = "我是%s,年龄%d,目前学习进度为80%"%(金鑫,18)
print(msg)

这样会报错的,因为在格式化输出里,你出现%默认为就是占位符的%,但是我想在上面一条语句中最后的80%就是表示80%而不是占位符,怎么办?
%%代表一个"%"符号

msg=我是%s,我的年龄是:%d,目前学习进度为80%%%(jerd,20)
print(msg)
msg=我是%s,我的年龄是:%d,目前学习进度为%d%%%(jerd,20,80)
print(msg)

二、类型转换和查看数据类型

把字符型变为整型 int(str) 整型变字符型 str(int)

number=12
count=1
str(count)
print(number,type(number),type(int(number)))
print(count,type(count),type(str(count)))
整型,字符型-->bool型
a=-2
b=bool(a)
print(b,bool(1),bool(0),bool(""),bool(" "))
#字符型,bool值 -->int型
a=int(1)  #必须为数字
b=int(3>2)
print(a,b)
#bool值,int型-->str型
b=str(3>2)
a=str(1)
print(a,type(a),b,type(b))

三、编码:

1.计算机:

储存文件,或者是传输文件,实际上是010101010
计算机创建初期,美国,二进制,
密码本:
ascii
00000001
01000001 01000010 01000011 ABC

2.ASCII码的历史

ASCII是英文大小写字母,数字,标点符号的参照表。由8位字节表示一个字符。ASCII最左边的一位是始终是0,
不会改变。这一位是设计者预留的。
为什么预留:英文的字母,数字,标点符号,用7位字节就能全部表示出来,设计者为了ASCII码以后的发展,就预留了一位

3.unicode

因为全球语言很多,ascii不足以存储这么多对应关系,创建了一个超级密码本:万国码unicode
8 位 == 1个字节.
hello h一个字符,e一个字符,he就不是一个字符.
中国:中是一个字符,国是一个字符.


1.unicode :
创建之初,16位,2个字节,表示一个字符.
英文: a b c 六个字节 一个英文2个字节
中文 中国 四个字节 一个中文用2个字节
改成 32位,4个字节,表示一个字符.
a 01000001 01000010 01000011 00000001
b 01000001 01000010 01100011 00000001
中 01001001 01000010 01100011 00000001
浪费资源.


2.对Unicode进行升级: utf-8
utf-8 用最少用8位数,去表示一个字符.
英文: 8位,1个字节表示.
欧洲文字: 16位,两个字节表示一个字符.
中文,亚洲文字: 24位,三个字节表示.
utf-16 用最少用16位数.

3.gbk:
国标,只能中国人自己用, 一个中文用16位,两个字节表示.

Python基础二

原文:https://www.cnblogs.com/strive-man/p/8335745.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!