Python基础第二天

今天主要内容为;

1.'in' or 'not in' 包含的用法

2.while else  的用法.

3.格式化输出

4.运算符

5.逻辑运算

6.编码

 

1.in 和 not in 的用法:判断子元素是否在原字符串(字典,列表,集合)中.

in 表示包含的意思.  comment = '老男孩 is linux Great God'

                              print('linux' in comment)

错误:

 

正确:

 

结论: 使用in命令,判断是否存在该项目,必须与原内容顺序,格式保持一致.否则报 False.

not in 含义:表示匹配的内容不再原内容中.

 

2.while ... else  格式

介绍:此循环不常用,在循环迭代正常完成后执行,换句话说,如果我们不是以除正常方式以外的其他任意方式退出循环,那么else分支将被执行。也就是在循环体内没有break语句、没有return语句,或者没有异常出现.

应用环境:else语句在循环中的一个常见使用案例是实现循环查找。假说你在查找一个满足特定条件的项目(item),同时需要进行附加处理,或者在未发现可接受的值时生成一个错误,没有else语句的话,你需要设置一个标志,然后在后面对其检测,以此确定是否存在满足条件的值。类似Python的许多其他特性,else语句可以生成更加优雅的Python风格的(Pythonic)代码.

总结: while else  如果 循环被break打断,程序不会走else.

实现:

未打印

count = 1
while True:
print(count)
if count == 3:break
count += 1
else:
print('循环正常完毕')

 

打印:

count = 1
flag = True
while flag:
print(count)
if count == 3:
flag = False
count += 1
else:
print('循环正常完毕')

 

3.格式化输出

 % 占位符 s str 字符串 d digit 数字

1)第一种,固定格式的填充

错误表示引用的类型不对,固定格式要的是数字,得到的是字符串.

更改方式:

(1)此方式保证以后输出的%d是int形式,但是不能保证输入时必须输入数字.

(2)保证输出时是int形式,并且必须输入数字才可以.

 

 2)代码中有%号,如何进行转义:

在格式化输出中单纯的显示% 用%% 解决。

name = input('请输入你的姓名:')

age = input('请输入你的年龄:')

msg = '我叫%s,今年%d岁,学习进度为1%%' % (name,int(age))

print(msg)

3)第二种,字典格式

书写格式错误:

正确格式:

 

 4.常用运算符

1)基本运算

计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算,今天我们暂只学习算数运算、比较运算、逻辑运算、赋值运算

算数运算

以下假设变量:a=10,b=20

比较运算

以下假设变量:a=10,b=20

赋值运算

以下假设变量:a=10,b=20

 

 2.逻辑运算

and,or,not

逻辑运算

针对逻辑运算的进一步研究:

  1,在没有()的情况下not 优先级高于 and,and优先级高于or,即优先级关系为( )>not>and>or,同一优先级从左往右计算。

例题:

判断下列逻辑语句的True,False。

复制代码
1,3>4 or 4<3 and 1==1
2,1 < 2 and 3 < 4 or 1>2 
3,2 > 1 and 3 < 4 or 4 > 5 and 2 < 1
4,1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8
5,1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
6,not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
复制代码

  2 ,  x or y , x为真,值就是x,x为假,值是y;

             x and y, x为真,值是y,x为假,值是x。

 

 

 第一种:前后都是比较运算。
#优先级:()> not > and > or 同一个优先级,从左至右依次计算。

理解:先算括号内,再算not,然后是and,最后计算or两边的值.

举例:
# print(1 > 2 and 3 < 4 and 3 > 2 or 2 < 3)
# print(2 > 1 and 3 < 4 or 4 > 5 and 2 < 1)
# print(1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8)
 第二种:前后都是数值运算。
'''
x or y if x True,则 return x,否则 return y
'''

举例:
# print(1 or 3)
# print(1 or 3)
# print(2 or 3)
# print(0 or 3)
# print(-1 or 3)
# print(1 and 2)
# print(0 and 2)

 第三种:混合。

举例:
# print(1 > 2 or 3 and 4)
# print(2 or 2 > 3 and 4)
# print(0 or 2 > 3 and 4)

#数据类型转换:
int ---> bool 非0即True,0为False
bool---> int True 1 False 0
print(int(True))
print(int(False))
print(bool(100))
print(bool(0))

 

5.编码问题

2,计算机在存储,和传输的时候, 01010101(二进制)
初期密码本:
asiic 包含数字,英文,特殊字符。八位
01000001 01000010 01000011 A B C
8位 = 1 byte 表示一个字符。

万国码unicode,将所有国家的语言包含在这个密码本。
初期:16位,两个字节,表示一个字符。
A : 00010000 00010010
中: 00010010 00010010
升级:32位,四个字节,表示一个字符。
A : 00010000 00010010 00010000 00010010
中: 00010010 00010010 00010010 00010010
资源浪费。

升级:utf-8。最少用8位(一个字节),表示一个字符。
英文:a :00010000 用8位表示一个字符。
欧洲:00010000 00010000 16位两个字节表示一个字符。
亚洲 中 :00010000 00010000 00010000 24位,三个字节表示一个字符。

utf-16(不常用)

gbk:国标。
只包含:英文中文。
英文:a :00010000 8位,一个字节表示一个字符。
中文:中:00010000 00010000 16位,两个字节表示一个字符。
gb2312.....

计算机单位的转换:

8 bit = 1byte
1024byte=1kb
1024kb = 1MB
1024MB = 1GB
1024GB = 1TB

posted @ 2018-03-19 17:31  tom2ling  阅读(160)  评论(0编辑  收藏  举报