Python编码

初始编码:

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

ASCII码:

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

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

00000001 8位bit == 1个字节(byte)     1024byte(字节) == 1kb     1024kb == 1MB     1024MB == 1GB     1024GB == 1TB

其他编码:

为了处理汉字,程序员设计了用于简体中文的GB2312和用于繁体中文的big5。

GB2312 支持的汉字太少。GBK正式国家标准收录27484个汉字,同时还收录了藏文、蒙文、维吾尔文等主要的少数民族文字。现在的PC平台必须支持GBK,对嵌入式产品暂不作要求。所以手机、MP3一般只支持GB2312。

从ASCII、GB2312、GBK 到GB18030,这些编码方法是向下兼容的,即同一个字符在这些方案中总是有相同的编码,后面的标准支持更多的字符。在这些编码中,英文和中文可以统一地处理。区分中文编码的方法是高字节的最高位不为0。GB2312、GBK到GB18030都属于双字节字符集 (DBCS)。

Unicode:

显然ASCII码无法将世界上所有的文字和符号全都表示,每个国家用自己的编码沟通起来又特别麻烦。所以一种可以代表所有字符和符号的编码诞生了,即Unicode,也叫做统一码、万国码、单一码。

Unicode是为了解决传统的字符编码局限性而产生的,它为每种语言每个字符设定了统一并且唯一的二进制编码,规定所有的字符和符号最少由16位(2字节)来表示。注:此处说的的是最少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

缩进

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

顶级代码必须顶行写

同一级别的代码,缩进必须一致

官方建议缩进用4个空格

流程控制

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

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

if...else 语句

#单分支

if 条件:

满足条件后要执行的代码

#双分支

if 条件:

结果1

else:

结果2

#多选条件

if 条件1:

结果1

elif 条件2:

结果2

elif 条件3:

结果3

else:

结果

#常用于用户登录验证、猜数字之类的游戏

my_age = 23user_input= int(input("input your guess num:"))if user_input ==my_age:print("Congratulations, you got it !")elif user_input

while循环

有一种循环叫做死循环,一旦触发,就不会停下来。建议死循环还是少写为好。

count =0whileTrue:print("你是风儿我是沙,缠缠绵绵到天涯...",count)

count+=1

#输出

你是风儿我是沙,缠缠绵绵到天涯... 542329你是风儿我是沙,缠缠绵绵到天涯...542330你是风儿我是沙,缠缠绵绵到天涯...542331你是风儿我是沙,缠缠绵绵到天涯...542332你是风儿我是沙,缠缠绵绵到天涯...542333。。。。。

终止循环的两种方式:

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

while flag:

print(count)

count = count + 1

#终止循环

if count > 6:

flag = False

print('game over!')

2.break

count =1

while count <=6:

print(count)

break

#下面的不再执行,结果为1

count = count +1

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

count = 1

sum = 0

while count <= 100:

sum = sum + count

count =count +1

print(sum)

#输出

5050

for 循环

continue:跳出本次循环,直接进入下一次循环for i in range(10):if i<5:continue #不往下走了,直接进入下一次loop

print("loop:", i )break:跳出整个循环 跳出当前层的整个循环for i in range(10):if i>5:break #不往下走了,直接跳出整个loop

print("loop:", i )pass:什么都不做,跳过本次循环,继续执行代码for i in range(10):if i==5:pass #跳过本次循环,继续执行

print("loop:", i )

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,就代表你必须只能输入数字啦

%f 传进来任何东西都会转为浮点数

%r 非转义,显示为原生字符 raw string 例如 \n 直接显示为\n, 不会显示为换行

小知识点:

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

python竖着输出编码_Python编码、流程控制、格式化输出相关推荐

  1. python跟unicode一样吗_PYTHON编码处理-str与Unicode的区别

    一篇关于STR和UNICODE的好文章 整理下python编码相关的内容 注意: 以下讨论为Python2.x版本, Py3k的待尝试 开始 用python处理中文时,读取文件或消息,http参数等等 ...

  2. python输入三个数输出最小值_python之输入一系列整数输出最大值

    在python学习中,我们经常会遇到:编写一个程序,输入若干整数或者是在一串字符中,输出最大值(数)的问题.那么在这里,我给出了几种常见的,也是几种比较常用的方法,希望能给大家的学习带来一定的帮助. ...

  3. python 格式化字符串_Python字符串三种格式化输出

    字符串格式化输出是python非常重要的基础语法,今天就把三种格式化输出做一个简单的总结,希望对大家有帮助. 格式化输出:内容按照一定格式要求进行输出. 1.使用占位符%输出 python2.6版本之 ...

  4. python输出字符串的后两位_Python字符串三种格式化输出

    字符串格式化输出是python非常重要的基础语法,今天就把三种格式化输出做一个简单的总结,希望对大家有帮助. 格式化输出:内容按照一定格式要求进行输出. 1.使用占位符%输出 python2.6版本之 ...

  5. python编程格式化输出_Python的三种格式化输出

    今天刚学了python的三种格式化输出,以前没接触过这么有趣的输出方式,现在来分享一下. #!/user/bin/env python #coding:utf-8 #三种格式化输出 #第一种格式化输出 ...

  6. python 表格格式输出_Python笔记---DAY3:格式化输出、for循环、列表操作

    1.引号使用: 多行变量用三引号 python单双引号相同,当命令内容中有引号时注意最外层引号的使用 2.格式化输出: name=input("name:") age=int(in ...

  7. python字符串_Python字符串三种格式化输出

    字符串格式化输出是python非常重要的基础语法,今天就把三种格式化输出做一个简单的总结,希望对大家有帮助. 格式化输出:内容按照一定格式要求进行输出. 1.使用占位符%输出 python2.6版本之 ...

  8. python打印字符串格式_Python字符串三种格式化输出

    字符串格式化输出是python非常重要的基础语法,今天就把三种格式化输出做一个简单的总结,希望对大家有帮助. 格式化输出:内容按照一定格式要求进行输出. 1.使用占位符%输出 python2.6版本之 ...

  9. python指定宽度20输出_Python 以指定宽度格式化输出

    Python 以指定宽度格式化输出 2020-05-07 当对一组数据输出的时候,我们有时需要输出以指定宽度,来使数据更清晰. 1 mat = "{:20}\t{:28}\t{:32}&qu ...

最新文章

  1. mysql slave 配置_【mysql5.6】 数据库主从(Master/Slave)配置记录
  2. angularjs中父,子,兄之间controller值得传递
  3. mysql opensuse_opensuse免安装mysql
  4. ubuntu常见问题解决方法
  5. 有什么作用_轴套有什么作用?
  6. 转: 深入浅出-网络七层模型
  7. java 保存的代码怎么写_java实现写入并保存txt文件的示例代码
  8. BERT大魔王为何在商业环境下碰壁?
  9. 强烈推荐的GitHub浏览插件-Octotree
  10. pythonocc_链轮
  11. SPSS学习入门 简介安装
  12. 计算机中人民币符号在哪儿,详细教您电脑怎么打人民币符号
  13. 论马云在中国的影响力!
  14. 你想要的WinForm界面开发教程在这里 - 如何使用自定义用户控件
  15. UE4 动态材质设置
  16. “穿的越少越好”在夏天说和在冬天说是不一样的
  17. 这款游戏可能是minecraft和迷你世界的共同敌人了吧!
  18. 云计算学习笔记——第四章 存储虚拟化
  19. xp sp3 远程桌面连接到控制台
  20. 树莓派python播放报警声(usb音响)

热门文章

  1. 谷歌浏览器无插件保存网页为长图
  2. python tuple list_python之tuple与list
  3. 公众号推送长图最佳尺寸_公众号怎么设置图片左右白边?长图如何排版?
  4. 7-18关于预制件和添加图片
  5. SQLSERVER 之APPLY用法
  6. java开发图灵机器人
  7. 【go】配置goproxy
  8. 怎么把录音转换成mp3格式?
  9. 阿里大中台小前台解读
  10. 深入.NET平台和C#编程_深入.NET框架