运算符和编码
一 格式化输出
1 .输入 name ,age , job , hobby.
输出 : --------------- info of Mary ------------------
Name : Mary
Age : 18
Job : Teacher
Hobbie :sing
----------------------end-------------------------
eg: name = input ("Name : ")
age = input ("Age : ")
job = inut ("Job : ")
hobby = input ("Hobbt : ")
info = ‘’‘
---------------------------- info of %s -------------- -# 每个%s 就是一个占位符,(name)
Name : %s #代表name
Age : %s #代表 age
Job : %s #代表 job
Hobby : %s #代表 hobbie
-------------------------------- end ----------------------
'''% (name,name,age,job,hobbie) # 这行的% 就是把前面的字符串与括号后面的变量关联起来
print(info)
2. %s , %d
%s 代表字符串占位符;( 任何东西都可以直接转换成字符串,仅限 " %s ".)
%d 代表数字占位符. (只能输入数字,对应的数据必须是 int 类型).
3. 数据类型转换:
int ( str ) # 字符串转换成int
str ( int ) # int 转换成字符串
4. " %% " 来表示字符串中的 "%".
在字符串中如果使用了 %s 这样的占位符,那么所有的 % 都将变成占位符,所以需要用 " %%"来表示字符串中的 " % "
注意 :如果字符串中没有使用过 %s ,%d 占位,则不需要 用它来代替.
eg : print("我叫 %s,今年22岁了,学习了2%%的Python "% 'Mary') # 有%占位.
print( "我叫Mary,今年22岁了,功课已经完成100%了") # 没有占位
二 基本运算符
1. 算术运算 " 加 " ," 减" ," 乘 " ," 除 ", " 取模(取余)[ % ] ", " 幂 [ ** ] ", " 整除 [ // ] ".
% 取模 返回除法的余数 a=10 , b=20 , 那么 b%a 输出的结果为0;
** 次幂 返回 a 的 b 次幂 a=10 , b=20 , 那么 a**b 为10的20次方;
// 取整除 返回商的整数部分 a=10 , b=20 , 那么 9 // 2 输出结果 4, 9.0 // 2.0 输出结果 4.0 .
2. 比较运算
== 等于 ( 比较对象是否相等 ); # 一个 " = "是赋值
!= 不等于 ( 比较两个对象是否不相等 );
<> 不等于 ( 比较两个对象是否不相等 );
> 大于
< 小于 ( 所有运算符返回1表示真==>True,返回0表示假==>False);
>= 大于等于
<= 小于等于
3. 赋值运算 ( 设 a = 10, b =20 )
= 简单的赋值运算符 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 ;
//= 取整除赋值运算符 c //=a 等效于 c=c//a .
4. 逻辑运算
and 布尔 "与" 如果 a 为False, a and b返回False,否则它返回 " b "的计算值;
or 布尔 "或" 如果 a 为True, a or b返回True,否则它返回 " b "的计算值;
not 布尔 "非" 如果 a 为True, not a 返回False,如果 a 为Flase,它返回True.
注意 :
1. 在没有()的情况下not优先级高于 and, and优先级高于or,
即 :优先级关系为 () > not > and >or . 同一优先级从左往右计算) .
2. x or y , x 为真 ,值就是真 ,x 为假 ,值是y ;
x and y,x 为真, 值是 y, x 为假, 值是 x ;
3. not 非假既真, 非真既假 .
三 编码的问题
1. 解释器
Python2解释器用 " ASCII "对内容进行编码;
Python3解释器用 " UTF-8 "对内容进行编码.
2. 编码系统的发展
ASCII ( 美国标准信息交换代码 ) 8 bit 1 byte 扩大使用受到局限;
GBK ( GBK兼容ASCII ) 16 bit 2 byte 仅限中国
eg : 字母A:0100 0001 # ASCII
字母A:0000 0000 0100 0001 # GBK 国标码
Unicode ( 万国码 ) 32 bit 4 byte 浪费
UTF-8 (可变长度) 英文 8 bit 1 byte
中文 24 bit 3 byte
3. 单位换算
8 bit = 1 byte
1024 byte = 1KB
1024 KB = 1MB
1024 MB = 1GB
1024 GB = 1TB
1024 TB = 1PB
......