博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python 3 基础
阅读量:5870 次
发布时间:2019-06-19

本文共 2331 字,大约阅读时间需要 7 分钟。

hot3.png

一、基础语法

 

1.1、字符编码

 

编码是信息从一种形式转变成另外一种形式的过程。用预先规定的方法将文字、数字或其它对象编成数码,或将信息、数据转换成规定的电脉冲信号。解码,是编码的逆过程。

 

在计算机编程中,编码是指用代码来表示各种数据,使其成为可利用计算机进行处理和分析的信息。

 

代码是用来表示事物的记号,它可以用数字、字母、特殊的符号或它们之间的组合来表示。

 

将数据转换为代码或编码字符,并能译为原数据形式,是计算机书写指令的过程,是程序设计中的一部分。

 

因为计算机被设计以二进制形式存储数据(0和1对应电路里的低和高电平),如果要处理文本,就必须先把文本按照某一标准转换成数码后为才能处理。其转化过程中的标准就是预先规定的编码表。比较常用的有ASCII、GB2312、GBK、Unicode、UTF-8 。

 

由于计算机是美国人发明的,因此,最早只有127个字符被编码到计算机里,也就是大小写英文字母、数字和一些符号,这个编码表被称为ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)编码。

21141958_NtGY.jpg

 

随着计算机的普及,遇到了使用表意字符而非字母语言的中、日、韩等国家。在这些国家使用的语言中常用字符多达几千个,而原来字符采用的是单字节编码,对于使用表意字符的语言是在无能为力,因此不同国家都定制自己的标准。

 

比如处理中文显然一个字节是不够的,至少需要两个字节,而且还不能和ASCII编码冲突,所以,中国制定了GB2312编码(《信息交换用汉字编码字符集》是由中国国家标准总局1980年发布,1981年5月1日开始实施的一套国家标准,标准号是GB 2312—1980。GB2312编码适用于汉字处理、汉字通信等系统之间的信息交换,通行于中国大陆;新加坡等地也采用此编码。中国大陆几乎所有的中文系统和国际化的软件都支持GB 2312)。

 

GB 2312的出现,基本满足了汉字的计算机处理需要,但对于人名、古汉语等方面出现的罕用字,GB 2312不能处理,这导致了后来制定《汉字编码扩展规范》GBK。

 

不难想象,不同的标准放在一起,就会混乱,甚至导致计算机根本不能识别,这就是为什么经常会出现乱码的现象。

 

21141959_uwXy.jpg

 

所以人们在不断寻找这更好的字符编码方案,最后的结果就是Unicode诞生了。

 

Unicode组织的想法最初也很简单:创建一个足够全的编码,将所有国家的编码都加进来,进行统一标准。

 

Unicode其实对每个字符都固定使用两个字节即16位表示。

 

21141959_BPd4.jpg

21141959_MxTT.jpg

 

没错,这样乱码问题就这样解决了。但新的问题又出现了:如果你的文本基本上全部是英文的话,用Unicode编码比ASCII编码需要多一倍的存储空间,在存储和传输上就十分不划算。所以,本着节约的精神,又出现了把Unicode编码转化为“可变长编码”的UTF-8编码。

 

UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。如果你要传输的文本包含大量英文字符,用UTF-8编码就能节省空间。所以

21141959_gYIB.jpg

 

21141959_iYxT.jpg

 

1.2、注释

 

21141959_4Kry.jpg

 

1.3、缩进

 

很多编程语言都用大括号来表示循环、条件等的作用域,在Python中,只需要用适当的缩进来表示即可。如果在正确的位置输入冒号(:),IDLE会再下一行自动缩进。

 

1.4、变量

 

在使用变量之前,不需要申明类型,可以直接对其赋值。

 

二、数据类型

 

2.1、整型

 

整型表示整数。Python3的整型已经和长整型进行了无缝整合,类似Java的BigInteger类型,它的长度不受限制。如果非要有个限制,那只限于计算机的虚拟内存总数。所以用python3很容易进行大数计算。

 

2.2、浮点型

 

浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是完全相等的。

 

2.3、布尔类型

 

布尔类型事实上是特殊的整型,尽管布尔类型用True和False来表示“真”和“假”,但是布尔值可以当作整数来对待,True相当于1,Flase相当于0。

 

21141959_AzFW.jpg

 

2.4、字符串

 

字符串是以单引号'或双引号"括起来的任意文本,比如'abc',"xyz"等等。

Notes  

  • 引号''或""本身只是一种表示方式,不是字符串的一部分。

  • 字符串不能以反斜杠作为结尾,因为反斜杠放在字符串结尾表示该字符串还没结束,换行继续的意思。

  • Python还允许用r''表示''内部的字符串默认不转义。21141959_bT0h.jpg

 

  • 如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用三重引号字符串('''内容''')的格式表示多行内容,比如21141959_kZHo.jpg

 

三、数据结构

 

3.1、列表

 

类似Java中的数组。但是数组有一个基本的要求是元素的数据类型必须一致,而Python中的列表没有这要求。

21141959_yBbi.jpg

 

3.2、元组

 

元组和列表最大的区别是你可以任意修改列表中的元素,可以插入或者删除一个元素,但是元组不行,元组是不可改变的

21141959_Lrrk.jpg

 

3.3、字符串

 

 

四、常用操作符

 

4.1、算术操作符

+     -     *     /      %     **     // 

Notes 

  • 即使是整数间的除法,答案自动返回一个浮点型的精确数值。

    21141959_ub0j.jpg

  • 幂运算操作符比其左侧的一元操作符优先级高,比其右侧的一元操作符优先级低21141959_zYwf.jpg

 

4.2、比较操作符

 

<     <=     >     >=     ==   !=

 

4.3、逻辑操作符

 

and     or     not

 

五、异常处理

 

5.1、try-except

 

21141959_9Grg.jpg

 

 

5.2、try-finally

 

21141959_sJkQ.jpg

 

 

转载于:https://my.oschina.net/william5/blog/1931382

你可能感兴趣的文章
android app启动过程(转)
查看>>
Linux—源码包安装
查看>>
JDK8中ArrayList的工作原理剖析
查看>>
安装gulp及相关插件
查看>>
如何在Linux用chmod来修改所有子目录中的文件属性?
查看>>
Applet
查看>>
高并发环境下,Redisson实现redis分布式锁
查看>>
乌克兰基辅一世遗修道院起火 现场火光照亮夜空
查看>>
[iOS 10 day by day] Day 2:线程竞态检测工具 Thread Sanitizer
查看>>
Centos/Ubuntu下安装nodejs
查看>>
关于浏览器的cookie
查看>>
Hyper-V 2016 系列教程30 机房温度远程监控方案
查看>>
国内先进的智能移动广告聚合平台-KeyMob聚合
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
PHP - 如何打印函数调用树
查看>>
js闭包
查看>>
寒假。3.3.G - Common Child (最大公共子序)
查看>>
设计模式学习笔记--原型模式
查看>>
.Net 通过MySQLDriverCS操作MySQL
查看>>