Python编码

初始编码:

电脑的传输,还有储存,实际上都是010101010

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

ASCII码:

(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),2**8 = 256,所以,ASCII码最多只能表示 256 个符号。

assic码最左边一位都是0,设计者预留出来的一位,方便后期拓展。

00000001 8位bit == 1个字节(byte)

1byte 1024byte(字节) == 1kb

1kb 1024kb == 1MB

1MB 1024MB == 1GB

1GB 1024GB == 1TB

Unicode:

(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为解决传统的字符编码方案的局限而产生,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536。注:此处说的的是最少2个字节,可能更多

UTF-8:

是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存... 汉字最多有9万多个,用3个字节表示。

python2解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill),而python3对内容进行编码的默认为utf-8。

总结:

Python2默认编码是ASCII码,无法识别中文

Python3默认编码是utf-8

解决办法:

python2首行

#!/usr/bin/env python

# -*- coding:utf-8 -*-

变量

变量是什么?  

变量:就是将一些运算的中间结果暂时储存到内存中,以便后续代码调用

 命名规则:

1,必须由字母、数字、下划线任意组合,且不能以数字开头

2,不能是Python中用到的关键字

3,变量具有可描述性

4,不能使用中文

推荐定义方式:

#驼峰体
AgeOfOldboy = 56
NumberOfStudents = 80

#下划线
age_of_oldboy = 56
number_of_students = 80

常量

变量就是一直不变的量,必须全用大写

#示例
BIRTH_OF_CHINA = 1949 

注释

作用:方便自己和他人理解代码

单行注释:#被注释内容

多行注释:‘’‘注释内容’‘’ 或者 “”“注释内容”“”

赋值:  等号右边的赋值给等号左边

用户交互

1,等待输入

2,将你输入的内容赋值给了前面的变量

3,input出来的数据type都是str

name = input('请输入你的名字: ')
age = input('请输入你的年龄: ')
print('姓名 '+name,'年龄 '+age)

#输出
请输入你的名字: Marilyn
请输入你的年龄: 24
姓名 Marilyn 年龄 24

  

流程控制

假如把写程序比做走路,那我们到现在为止,一直走的都是直路,还没遇到过分叉口,想象现实中,你遇到了分叉口,然后你决定往哪拐必然是有所动机的。

你要判断那条岔路是你真正要走的路,如果我们想让程序也能处理这样的判断怎么办? 很简单,只需要在程序里预设一些条件判断语句,满足哪个条件,就走哪条岔路。这个过程就叫流程控制。

if...else 语句

#单分支
if 条件:
    满足条件后要执行的代码

#双分支
if  条件:
    结果1
else:
    结果2

#多选条件
if 条件1:
    结果1
elif 条件2:
    结果2
elif 条件3:
    结果3
else:
    结果 

缩进

Python的缩进有以下几个原则:

  1. 顶级代码必须顶行写
  1. 同一级别的代码,缩进必须一致
  1. 官方建议缩进用4个空格

while循环

while 条件:
    循环体
    无限循环
    终止循环:
      1.改变条件,使其不成立
      2.break

while flag:
    print(count)
    count = count + 1

#输出
1
2
3
4
5
.......

终止循环的两种方式:

1,改变条件,使其不成立

while flag:
    print(count)
    count = count + 1
    #终止循环
    if count > 6:
        flag = False
        print('game over!')
#输出      
1
2
3
4
5
6
game over!

2.break

count =1
while count <=6:
    print(count)
    break
    #下面的不再执行,结果为1
    count = count +1

#输出
1

用Python计算1+2+...+100的结果

count = 1
sum = 0
while count <= 100:
    sum = sum + count
    count =count +1
print(sum)

#输出
5050

while ... else ..语句

 与其它语言else 一般只与if 搭配不同,在Python 中还有个while ...else 语句

while 后面的else 作用是指,当while 循环正常执行完,中间没有被break 中止的话,就会执行else后面的语句

count = 0
while count <= 5 :
    count += 1
    print("Loop",count)
else:
    print("循环正常执行完啦")
print("-----out of while loop ------")

#输出
Loop 1
Loop 2
Loop 3
Loop 4
Loop 5
Loop 6
循环正常执行完啦
-----out of while loop ------

格式化输出

%s是字符串占位符, str

%d是数字占位符, digital

如果是%d,就代表你必须只能输入数字啦

小知识点:

1,想要在格式化输出中间要一个单纯的%,就在前面加一个%,如3%%

2,input接收的所有输入默认都是字符串格式,所以有事需要把str转为int,如int(age)

name = input('请输入姓名:')
age = input('请输入年龄:')
height = input('请输入身高:')
msg = "我叫%s,今年%s岁,身高%s,学习进度3%%" %(name,age,height)
print(msg)

#输出
请输入姓名:Marilyn
请输入年龄:21
请输入身高:164
我叫Marilyn,今年21岁,身高164,学习进度3%

示例:

自定义输出文本格式,只需要把要打印的格式先准备好,需要用户输入的用占位符即可。

name = input('请输入姓名:')
age = input('请输入年龄:')
sex = input('请输入性别:')
job = input('请输入工作:')
msg = '''
---------info of %s----------
Name: %s
Age: %d
sex: %s
job:%s
---------end---------
'''%(name,name,int(age),sex,job)
print(msg)

#输出
请输入姓名:Marilyn
请输入年龄:21
请输入性别:female
请输入工作:It
---------info of Marilyn----------
Name: Marilyn
Age: 21
sex: female
job:It
---------end---------

另一种比较高大上的格式化输出,即format,建议以后使用这种。

#format的三种玩法 格式化输出
res='我的名字{},年龄{}, 性别{}'.format('Marilyn',21,'female')
print(res)
我的名字Marilyn,年龄21, 性别female

res='我的名字{0},年龄{1}, 性别{2}, 再说一遍名字{0}'.format('Marilyn',21,'female')
print(res)
我的名字Marilyn,年龄21, 性别female, 再说一遍名字Marilyn

res='我的名字{name},年龄{age}, 性别{sex}, 再说一遍名字{name}'
.format(name='Marilyn',age=21,sex='female')
print(res)
我的名字Marilyn,年龄21, 性别female, 再说一遍名字Marilyn
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄