Day2 python基础

一,while 循环的结构:

'''

while 条件:

  循环体

'''

1.当条件永远为真,则为死循环

2.判断条件:条件为真,进入循环体,循环体代码从上而下逐行执行到底部,返回 继续判断条件,周而复始

while True: #死循环
    print('1')
    print('2')
    print('3')
    print('4')

3.标志位:flag

flag = True
while flag:
    print('1')
    print('2')
    flag = False
    print('3')
    print('4')

例:while循环打印1,2,3,4...100

#方法1:
flag = True
count = 1
while flag:
    print(count)
    count = count + 1
    if count == 101:
        flag = False
#方法2:
count = 1
while count < 101:
    print(count)
    count = count + 1

4.break: 循环重视,只用遇到break 立马结束循环。

while True:
    print(111)
    print(222)
    break
    print(333)
    print(444)
print(123)

例:利用break,while 计算1+2+3.....+100的结果

#方法1
count = 1
sum = 0
while count <= 100:
    sum = sum + count
    count += 1
print(sum)
#方法2
count = 1
sum = 0
while True:
    sum = sum + count
    count = count + 1
    if count == 101:
        break
print(sum)
#方法3
flag = True
count = 1
sum = 0
while flag:
    sum = sum + count
    count += 1
    if count == 101:
        flag = False
print(sum)

5.continue:结束本次循环,继续下一次循环

while True:
    print(111)
    print(222)
    continue
    print(333)

6.while else 结构

# 如果while循环被break打断,则不执行else代码。
count = 1
while count < 5:
    print(count)
    count = count + 1
    if count == 3: break
else:
    print(666)
print(222)
# 应用场景:
验证用户名密码,重新输入这个功能需要while循环。
无限次的显示页面,无限次的输入

二,格式化输出
制作一个模板,某些位置的参数是动态的,像这样,就需要用格式化输出。字符串的动态替换。
怎么实现:
name = input('请输入姓名:')
age = int(input('请输入年龄:'))
sex = input('请输入性别:')
#% 占位符  s 数据类型为字符串 d 数字
#第一种方式:
msg = '你的名字是%s,你的年龄%d,你的性别%s' % (name,age,sex)
print(msg)

#第二种方式
msg = '你的名字是%(name1)s,你的年龄%(age1)d,你的性别%(sex1)s' % {'name1':name,'age1':age,'sex1':sex}
print(msg)

#bug 点  在格式化输出中,只想单纯的表示一个%时,应该用%% 转意表示
msg = '我叫%s,今年%d,我的学习进度1%%' % ('王大锤',28)
print(msg)

三,基本运算符:

算数运算:
+ 加:两个对象相加a - 减:得到负数或是一个数减去另一个数 * 乘:两个数相乘或是返回一个被重复若干次的字符串 / 除:x除以y % 取模:返回除法的余数 ** 幂:返回x的y次幂 // 取整除:返回商的整数部分
比较运算:
==   等于:比较对象是否相等
!=    不等于:比较两个对象是否不相等
<>   不等于:比较两个对象是否不相等
>     大于:返回x是否大于y
<     小于:返回x是否小于y。所有比较运算符返回1表示真,返回-表示假,与True和False等价
>=   大于等于:返回x是否大于等于y
<=   小于等于:返回x是否小于等于y
赋值运算:
a = 1          赋值:数据1指向变量a
a += 1    相当于 a = a + 1
a -= 1     相当于 a = a - 1
a *= 2     相当于 a = a * 2  
a /= 2    相当于 a = a / 2
a %= 2    相当于 a = a % 2
a **= 2    相当于 a = a ** 2
a //= 2     相当于 a = a // 2
逻辑运算:
and:布尔''
or:    布尔''
not:  布尔''
针对逻辑运算的进一步研究:
      在没有()的情况下not 优先级高于 and,and优先级高于or,即优先级关系为()>not>and>or,同一优先级从左往右计算。

例:
#第一种情况,前后条件为比较运算4
print(1 < 2 or 3 > 1)
print(1 < 2 and 3 > 4)
print(1 < 2 and 3 > 4 or 8 < 6 and 9 > 5 or 7 > 2)
print(1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8)
print(1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6)

# 第二种情况,前后两边的条件为数值
'''
x or y if x is True,return x
'''
print(1 or 2)
print(1 and 2)
print(5 or 2)
print(5 and 2)
print(0 or 2)
print(-1 or 2)

补充:
# int < -转换- > bool
# 0 对应的bool值为False,非0 都是True.
# True     1    ,False     0

print(bool(100))
print(bool(-1))
print(bool(0))
print(int(True))
print(int(False))
# 应用场景:
if while 等条件判断(数据库,Django orm Q查询)。

四,编码初识、
设备之间通信时,需要一个共用的密码本,记录明文与二进制的对应关系
python2解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill),而python3对内容进行编码的默认为utf-8。
ASCII:最初版本的密码本:所有的英文字母,数字,特殊字符。是基于拉丁字母的一套电脑编码系统,
主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,
所以,ASCII码最多只能表示 256 个符号。 一个字符 000 0001 8位 == 1个字节 对于ASCII码来说: 'hello laddy' 11个字符,11个字节。
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的
字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有
的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536, 注:此处说的的是最少2个字节,可能更多。 浪费资源,占空间。 起初:1个字符 16位 2个字节表示。 改版:1个字符 32位 4个字节表示。
UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行
分类:
1.ascii码中的内容用1个字节保存、 2.欧洲的字符用2个字节保存, 3.东亚的字符用3个字节保存...
 gbk:国标,只包含 中文,英文(英文字母,数字,特殊字符)
        字母:   一个字节
        中文: 两个字节
单位转换:
8 bit == 1 bytes
1024 bytes == 1 kb
1024 kb == 1 MB
1024 MB == 1 GB
1024 GB == 1 TB
1024 TB == 1 PB

 

posted @ 2018-08-03 19:46  乘地铁  阅读(167)  评论(0编辑  收藏  举报