Python运算符和编码

Posted wangyueping

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python运算符和编码相关的知识,希望对你有一定的参考价值。

Python运算符和编码

一、格式化输出

现在有以下需求,让?户输入name, age, job,hobby 然后输出如下所?:

----------info of dogfa----------
name: dogfa
age: 18
job: 嫖客
hobby: 嫖娼
---------------------------------

如果用字符串拼接的话会很繁琐,所以我们可以采用这样的方法来实现:

name = input("请输入姓名:")
age = input("请输入年龄:")
job = input("请输入工作:")
hobby = input("请输入爱好:")
info = '''----------info of dogfa----------
name: %s
age: %s
job: %s
hobby: %s
---------------------------------
''' % (name, age, job, hobby)
print(info)

技术图片

二、基本运算符

计算机可以进?的运算有很多种,可不只加减乘除这么简单,运算按种类可分为:

  1. 算术运算
  2. 逻辑运算
  3. 比较运算
  4. 赋值运算
  5. 位运算
  6. 成员运算
  7. 身份运算

在此我就着重介绍以上前四大基本运算

1、算术运算

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

运算符 描述 示例
+ a + b = 30
- b - a = 10
* 乘(若为字符串相乘则多个字符串拼接) a * b = 200
/ b / a = 2
% 取模(相除取余数) b % a = 0
** 幂(返回X的幂次方) a ** b = 10^20
// 取整(相除取整数) 7 // 3 = 2

2、比较运算

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

运算符 描述 示例
== 判断是否相等 a == b (False)
!= 判断是否不等 a != b (True)
> 判断是否大于 a > b (False)
< 判断是否小于 a < b (True)
>= 是否大于等于 a >= b (False)
<= 是否小于等于 a <= b (True)

3、赋值运算

运算符 描述 示例
= 简单的赋值运算符 a == b (False)
+= 加法赋值运算符 a += b (相当于a = a + b)
-= 减法赋值运算符 a -= b (相当于a = a - b)
*= 乘法赋值运算符 a = b (相当于a = a b)
/= 除法赋值运算符 a /= b (相当于a = a / b)
**= 幂赋值运算符
//= 取整赋值运算符 a //= b (相当于a = a // b)

4、逻辑运算

假设a = True ,b = False

运算符 描述 示例
and a and b (False)
or a or b (True)
not not(a and b)(True)

逻辑运算的优先级:()>not>and>or,从左往右依次计算。

扩展:

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

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

3>4 or 4<3 and 1==1     (False)
1 < 2 and 3 < 4 or 1>2      (True)
2 > 1 and 3 < 4 or 4 > 5 and 2 < 1      (True)
not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6       (False)
1 and 2 (2)
1 or 2 (1)
1 and 0 (0)
1 or 0 (1)

5、成员运算

  • in
  • not in

判断子元素是否在原字符串(字典,列表,集合)中:

temp = "dogfa is a dsb!"
print("dsb" in temp)
print("dsb" not in temp)

三、编码

python2解释器在加载 .py ?件中的代码时,会对内容进?编码(默认ascill),?python3对内容进?编码的默认为utf8。
早期. 计算机是美国发明的. 普及率不?, ?般只是在美国使?. 所以. 最早的编码结构就是按照美国?的习惯来编码
的. 对应数字+字?+特殊字符?共也没多少. 所以就形成了最早的编码ASCII码. 直到今天ASCII依然深深的影响着我们.
ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字?的?套电
脑编码系统,主要?于显示现代英语和其他?欧语?,其最多只能? 8 位来表示(?个字节),即:2**8 = 256,所
以,ASCII码最多只能表示 256 个符号。

例如:

字符 十进制 二进制
a 97 01100001
A 65 01000001
space 32 00100000
0 48 00110000

随着计算机的发展. 以及普及率的提?. 流?到欧洲和亚洲. 这时ASCII码就不合适了. ?如: 中?汉字有?万个. ?ASCII
最多也就256个位置. 所以ASCII不?了. 怎么办呢? 这时, 不同的国家就提出了不同的编码?来适?于各?的语?环境.
?如, 中国的GBK, GB2312, BIG5, ISO-8859-1等等. 这时各个国家都可以使?计算机了.
GBK, 国标码占?2个字节. 对应ASCII码 GBK直接兼容. 因为计算机底层是?英?写的. 你不?持英?肯定不?. ?英
?已经使?了ASCII码. 所以GBK要兼容ASCII.
这?GBK国标码. 前?的ASCII码部分. 由于使?两个字节. 所以对于ASCII码??. 前9位都是0
字?A:0100 0001 # ASCII
字?A:0000 0000 0100 0001 # 国标码
国标码的弊端: 只能中国?. ?本就垮了. 所以国标码不满?我们的使?. 这时提出了?个万国码Unicode. unicode?
开始设计是每个字符两个字节. 设计完了. 发现我?中国汉字依然?法进?编码. 只能进?扩充. 扩充成32位也就是4个字
节. 这回够了. 但是. 问题来了. 中国字9万多. ?unicode可以表?40多亿. 根本?不了. 太浪费了. 于是乎, 就提出了新的
UTF编码.可变?度编码
UTF-8: 每个字符最少占8位. 每个字符占?的字节数不定.根据?字内容进?具体编码. 比如. 英?. 就?个字节就够了. 汉
字占3个字节. 这时即满?了中?. 也满?了节约. 也是?前使?频率最?的?种编码。

ascii:用8位,一个字节表示字符

gbk:用16位,两个字节表示字符

unicode:万国码,用32位,4个字节表示字符

urf-8:万国码的压缩版

  1. 英文:8位,一个字节
  2. 汉字:24位,3个字节
  3. 欧洲文字:16位,2个字节

utf-16:每个字符至少占16位,即两个字节

单位转换:
8bit = 1byte
1024byte = 1KB
1024KB = 1MB
1024MB = 1GB
1024GB = 1TB
1024TB = 1PB
1024TB = 1EB
1024EB = 1ZB

通常用到TB就够了。

以上是关于Python运算符和编码的主要内容,如果未能解决你的问题,请参考以下文章

markdown 打字稿...编码说明,提示,作弊,指南,代码片段和教程文章

如何在 python 中并行化以下代码片段?

Python--PEP8编码规范

Python运算符与编码

Python基础二:pycharm的安装及简单使用,while循环,格式化输出,运算符, 编码的初识,git

Python运算符和编码