python基础--循环
一.循环 while循环
1.while 条件:
代码块(循环体)
else:(可加可不加,,若循环中有break,则else不会执行)
代码块
执行流程:
1.判断条件是否为真,如果真,执行代码
2.再次判断条件是否为真......
3.当条件为假,执行else跳出循环,循环结束
1 count = 1 2 while count<10: 3 print("while循环") 4 count+=1
2.continue和break
break 结束循环,停止当前循环
continue 停止本次循环, 继续执行下一次循环
1 while True: 2 s=input("请输入:") 3 if s == 'q': 4 break #停止当前循环 5 6 #过滤敏感字 7 if '敏感字' in s: #在xxx中出现xx 8 print('你输入的内容敏感') 9 continue 10 11 print('输出内容'+s)
3.格式化输出
%s :字符串的占位符,可以放置任何内容(数字)
%d:数字的占位符
1 name =input('输入姓名:') 2 age =int(input('输入年龄:')) 3 print('%s今年%d岁'%(name,age))
注意:如果字符串中有了占位符,那么后面的所有的%都是占位,需要转义%%
如果你的字符串中没有使用过%s,%d占位,那么就不需要考虑那么多
二.基本运算符
按种类划分:
算数运算:
+ :加,两个对象相加
-: 减,得到负数或者一个数减去另一个数
* : 乘,两个数相乘或是返回一个被重复若干次的字符串
/ : 除,x除以y
% : 取模,返回除数的余数
** : 幂,返回x的y次幂
逻辑运算 and or not 同时存在,先算括号,再算not ,再算and ,最后算or
and :x and y ----布尔"与"--如果x为False, x and y 返回False,否则返回y的计算值
or : x or y ---- 布尔"或"--如果x是非0,他返回x的值,否则他返回y的计算值
not: not x -----布尔"非",如果x为True,返回False,如果x为False,他返回True
例子1: not 2>1 and 3<4 or 4 >5 and 2 >1 and 9>8 or 7<6 F
2>1 = T ,not T = F
例子2: 1 or 2 =1
0 or 1 = 1
0 or 1 or 3 or 0 or 5 = 1
1 and 2 = 2
2 and 0 = 0
0 and 2 = 0
1 or 2 and 3 = 1
0 or 4 and 3 or 7 or 9 and 6 = 3
2 > 5 and 3 =False
2 < 1 and 4 > 6 or 3 and 4 >5 or 6 = 6
比较运算
== : 等于--比较对象是否相等
!= : 不等于--比较两个对象是否不相等
> : 大于--大于,返回x是否大于y
< : 小于 --返回x是否小于y
>= :大于等于--返回x是否大于等于y
<= : 小于等于--返回x是否小于等于y
赋值运算
= : 简单的赋值运算符 -----c=a+b 将a+b的结果赋值给c
+= : 加法赋值运算符 ----- c+=a 等效于c= c+a
-= : 减法赋值运算符 ----- c-=a 等效于c= c-a
*= : 乘法赋值运算符 ----- c*=a 等效于c= c*a
/= : 除法赋值运算符 ----- c/=a 等效于c= c/a
%= : 取模赋值运算符 ----- c%=a 等效于c= c%a
**= : 幂赋值运算符 ----- c**=a 等效于c= c**a
成员运算
in ---如果在指定的序列中找到值返回True,否则返回False
not in --- 如果在指定的序列中没有找到值的返回True,否则返回False
身份运算
is ---is是判断两个标识符是不是引用自一个对象
is not ---is not是判断两个标识符是不是引用自不同对象
位运算
a 为 60,b 为 13,转换为二进制,a=0011 1100,b = 0000 1101
& : 按位与运算符: 参与运算的两个值,如果两个相应的值为都为1,则该位的结果为1,否则为0, (a&b)==12,二进制为:0000 1100
| :按位或运算符: 只要对应的二个二进为有一个为1时,结果位就位1, (a|b)==61 , 二进制:0011 1101
^ :按位异或运算符,当两对应的二进制相异时,结果为1 ,相同为0 (a^b) ==49 ,二进制: 0011 0001
~ : 按位取反运算符: 对数据的每个二进制位取反,即把1变为0,把0变为1,~x类似于-x-1, (~a) ==61 ,二进制 :1100 0011
<<:左移运算符 : 运算数的各二进位全部左移若干位,由<<右边的数字指定移动的位数,高位丢弃,低位补0 a<<2 == 240,二进制:1111 0000
>>;左移运算符 : 运算数的各二进位全部左移若干位,由<<右边的数字指定移动的位数, a>>2 == 15 ,二进制:0000 1111
三.编码
1,最早的计算机编码是ASCII,美国人创造,包含英文字母(大小写字母),数字,标点等特殊字符!@#$%
128个码位 2**7 在此基础上加了一位, 2**8
8位 1个字节(byte)
2.GBK 国标码 16位, 2个字节(双字节字符)
3.Unicode 万国码 32位 4个字节
4. utf-8 英文 8bit 1个字节
欧洲文字 16bit 2个字节
中文 24bit 3个字节
8bit ==1 byte
1024byte = 1kb
1024kb == 1mb
1024mb == 1gb
1024gb == 1tb