python基础
1.while循环
1.循环结构: while 条件语句 :
循环体
例: while True:
print(“123”)#该循环为死循环,理论上无限循环
2.循环流程:
1.判断条件:如果循环条件为真,进入循环体;
2.循环体代码执行完后,返回继续判断循环条件,周而复始。
3.如何终止循环
1.改变循环条件
引入标志位的概念
例:
flag = True count = 1 while flag: print(count) count = count+1 if count== 101: flag = False
练习题:从1-100打印
方法一:使用不等式判断
count = 0 while count < 100: count += 1 print(count)
方法二:使用标志位概念
flag = True count = 0 while flag: count += 1 print(count) if count == 100: flag = False
2.关键字 break
作用:直接结束循环,break之后的代码将不会执行
3.关键字 continue
作用:结束本次循环,继续判断循环条件后进行下一次循环.
4.循环结构:while 循环条件:
循环块
else:
执行结果
注意:如果循环块中有break,且执行了break后将不执行else的执行结果
5.while循环的应用场景
验证用户密码,重复输入需要运用while循环
执行次数
无限次的显示页面的场景
2.格式化输出
作用:制作模块,针对某些位置的参数是动态的信息。字符串动态替换等。
占位符定义:%,就是动态信息的插入位置,其后跟随s或者d,分别是str(字符串类型)和digit(数字类型)的缩写
方式一:
msg = "你的名字是%s,年龄为%d,性别是%s" % (name,age,sex)
方式二:
msg = "你的名字是%(name1)s,年龄为%(age1)d,性别是%(sex1)s" % {"name1": "hexin","age1":18,"sex1":"nan"}
特殊情况:
例:
s2 = "我的名字是%s,我今年%s岁,我的学习进度是1%%" %("alex","18",)
模块中只是为了表示进度,则需要输入%%,这样就代表他不是占位符
3.运算符
1.算数运算符
%取余,**幂次,//取整除
2.比较运算符
==等于比较对象是否一样
!= 不等于
3.赋值运算符
+=,-=,*=,/=
4.逻辑运算符(重点)
and(与) or(或) not(非)
优先级: () > not > and > or
1.前后条件为比较运算
例:
print (1< 2 or 3>1)
输出为True
2.前后俩边条件为数值
则 x or y,x is True ,则返回x;否则返回y。 x and y与x or y的结果相反
补充:int与bool的转换
0对应的bool值为False,非0数字对应的Bool值为True
面试题:
print(0 or 3 and 5 or 4) print(1 > 2 or 3 and 4 < 6) print(2 or 3 and 4 < 6)
执行结果为 5 False 2
应用
1.if while等条件判断(数据库,Django orm Q查询)
2.面试
4.编码初识:
ASCII码:最初版本的编码规则,包含所有英文,数字,特殊字符。
最初一个字符对应7位,最终优化为8位
面试题:ASCII最左一位都是0
为什么都是0?
因为当时的创造者预留的。
例:对于ASCII码来说: "hello word"表示10个字符。 10个字节 空格也表示一个字符
Unicode:万国码,将全世界所有国家的文字都写入这个编码方式里。
起初:1个字符 16位 2个字节表示
改版:1个字符 32位 4个字节表示
过于浪费资源
utf-8:最少使用8位表示1个字符
英文:8位 1字节
欧洲文字:16位 2字节
中文:24位 3字节
GBk:国标,只包含中文,英文(英文字母,数字和特殊字符)
英文:1个字节
中文:2个字节
难点:Gbk与utf-8之间的编码转换
补充:所有其余的编码英文字符全部都映射与ASCII码
存储单位
8bit(位) == 1bytes
1024bytes == 1kb
1024kb == 1MB
1024MB == 1GB
1024GB == 1TB
1024TB == 1PB