码迷,mamicode.com
首页 > 编程语言 > 详细

Python之旅 (基础篇1-22)

时间:2018-01-22 19:18:27      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:input   post   comm   表示   ==   class   32位   文字   转换   

格式化输出:format  %s  %d

第一种写法:

#name=input(‘name:‘)
#age=input(‘age:‘)
#job=input(‘job:‘)
#info=‘‘‘
#name:%s
#age:%s
#job:%s
#‘‘‘%(name,age,job)
#print (info)

 

#name=input (‘请输入名字:‘)
#age=input (‘请输入年龄:‘)
#score=input (‘请输入成绩:‘)
#mag =‘我叫%s,我今年%s,我成绩是优秀%s‘ % (name,age,score)
#print (mag)

第二种写法:

# name=input(‘name:‘)
# age=input(‘age:‘)
# job=input(‘job:‘)
# info=‘‘‘
# name:%(name)s
# age:%(age)s
# job:%(job)s‘‘‘%({"age":age,"job":job,"name":name})     #红色字体需要注意,因为要正确的输出位置,必须在%中写上所定义的字符串
# print(info)

%s就是代表字符串占位符,除此之外,还有%d,是数字占位符, 如果把上面的age后面的换成%d,就代表你必须只能输入数字啦

#input接收的所有输入默认都是字符串格式!

问题:

1.如何将str转换成字符串呢?

age = int( input("Age:") )
print(type(age))

2.现在有这么行代码

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

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

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

这样就可以了,第一个%是对第二个%的转译,告诉Python解释器这只是一个单纯的%,而不是占位符。

 

逻辑运算符:

 

#优先级
#() > not > and > or

# print(2 > 1 and 3 > 4)
# print(2 > 1 or 3 > 4)
# print(not 2 > 1)
# a = 2 > 1 and 2 < 3 or 2 > 4 and 1 < 5 or 7 < 4
# print(a)

#1,前后都是比较的条件

# print(3 > 4 or 4 < 3 and 1==1) # F
# print(1 < 2 and 3 < 4 or 1>2 ) # T
# print(2 > 1 and 3 < 4 or 4 > 5 and 2 < 1) # T
# print(1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8) # F
# print(1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6) # F

#2,前后都是数字

# print(1 or 2)
# print(2 or 3)
# print(0 or 2)
# print(0 or 3)
# print(1 and 2)
# print(0 and 3)

# x or y if x 为 True,则值是x ;else:值是y.
# and 与or相反
‘‘‘
ps: str ---> int int(str) 字符串必须是数字组成
int----> str str(int)

int ---> bool 非0 ----> True
0 -----> False
‘‘‘
# print(1 or 3 and 4 or 5)
# print(2 > 1 or 1 and 3 < 2)

 

 

编码的历史

战争时期:

发电报,发的是高低电频,实际上是01010101今 0000 0001
晚 0000 0101
嗨 0000 0111
去呀 0000 1001

00000001 00000101 00000111 00001001

 

计算机:

       储存文件,或者是传输文件,实际上是010101010
        计算机创建初期,美国,二进制,

密码本:
ascii
00000001
01000001 01000010 01000011 ABC

因为全球语言很多,ascii不足以存储这么多对应关系,创建了一个超级密码本:万国码unicode
8 位 == 1个字节.
hello h一个字符,e一个字符,he就不是一个字符.
中国:中是一个字符,国是一个字符.
unicode :
创建之初,16位,2个字节,表示一个字符.
英文: a b c 六个字节 一个英文2个字节
中文 中国 四个字节 一个中文用2个字节
改成 32位,4个字节,表示一个字符.
a 01000001 01000010 01000011 00000001
b 01000001 01000010 01100011 00000001
中 01001001 01000010 01100011 00000001
浪费资源.
对Unicode进行升级: utf-8
utf-8 用最少用8位数,去表示一个字符.
英文: 8位,1个字节表示.
欧洲文字: 16位,两个字节表示一个字符.
中文,亚洲文字: 24位,三个字节表示.
utf-16 用最少用16位数.

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

单位转化:
8位bit 8bit == 1bytes
1024bytes == 1kB
1024KB == 1MB
1024MB == 1GB
1024GB == 1TB

 

in,not in :

判断子元素是否在原字符串(字典,列表,集合)中:

例如:

#print(‘喜欢‘ in ‘我不喜欢看电视‘)
#print(‘a‘ in ‘bcvd‘)
#print(‘y‘ not in ‘ofkjdslaf‘)

 

Python之旅 (基础篇1-22)

标签:input   post   comm   表示   ==   class   32位   文字   转换   

原文地址:https://www.cnblogs.com/yimiflh/p/8330246.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!