python如何学习(二)

  
  

最近开始整理python的资料,博主建立了一个qq群,希望给大家提供一个交流的同平台78486745。

     

一、编程开发规范

  

作为一门开发语言,python自然也有自己的编程规范,以下是特有且必须遵循的规范:

  
      <李>代码开头
    python中代码必须顶格编写,除非被作为语句嵌套在条件判断或条件循环中。   <李>代码层级
    代码与代码之间的逻辑层级关系(涉及逻辑判断,包含关系等情况)通过空格来界定,第一层顶格编写,第二层(被包含或者逻辑判断后的执行动作)开头预留4个空格(如果不考虑跨平台可以使用选项卡)   <李>对齐方式
    同一个层级的代码必须严格对齐,如第一层都是顶格,第二层都是4个空格开的头,第三层则是8个空格,以此类推。   <李>注释
    单行注释用#开头,单独一行作为注释或者在代码后面通过#跟上注释均可,多行注释在首尾处用成对的三引号引用即可,可以是成对的三个单引号或者三个双引号。   <李>代码块
    如果逻辑判断和为循环条件后面均以冒号结尾,然后通过4个空格开始下一层级的实际执行动作语句编写。这部分在冒号后面接上的语句称为代码块。   <李>程序命名
    编写的python程序必须以. py结尾。   <李>项目规范
    启动一个项目开发时先在开发工具中创建项目,然后根据需要创建目录,最后在目录下创建当前活动的py程序。   
  

二、变量

  

python中的变量也用于存储临时值以便后续灵活调用,在定义时只能使用字母,数字,下划线的任意组合,且不能以数字开的头,不能以python内置的关键字来命名变量(如进口,全球,最后等,有待后续学习加深印象)。对变量进行字符串类型的赋值时,字符串需要用成对的引号引起来,可以是单引号,双引号或者三引号。

  

建议通过以下两种形式来定义较为复杂的变量,便于

  
      <李>驼峰体
    即每个单词的首字母大写,其他小写,如MappingTable李   <李>下划线
    不同单词之间通过下划线分开,如mappting_table李   
  

三,字符编码

  

字符编码经历了ASCII码→→unicode utf - 8的演变过程,python 2. x默认使用ASCII编码,而3. x默认使用utf - 8编码。由于字符编码事关重大,一言不合就会导致乱码,因此强烈建议统一使用万用的utf - 8编码。怎么使用呢?

  
      <李>程序开头明确显式定义李   
  
 <代码> # !/usr/bin/env python
  # - * -编码:utf - 8 - * -  
  

windows下编程可忽略第一行,但为了保留移植性建议始终声明变量。

     <李>在程序解释器中选择utf - 8字符编码李      

以上两个条件缺一不可,虽然python 3. x版本默认使用utf - 8编码,但还是建议在程序中声明编码格式。

  

以上是结果,下面谈谈为什么强烈建议使用urf-8编码,以及为什么utf - 8编码就可以通吃。

  

最早就只有包括所有字母的大小写,数字,必要的特殊符号等合计才127个字符被编码到计算机里,这个编码就是ASCII编码。由于需要进行编码的字符才有127个,因此用7个二进制位就足以搞定了,但8个二进制位才能构成一个完整的字节,因此索性用8个二进制位来进行编码,剩余的一位只好浪费掉。所以ASCCI码只占用一个字符。

  

随着计算机技术的推广和普及,其他不以英语为官方语言的国家也开始使用计算机了。那么现在问题来了,一个字节的8个比特位只能表示非常有限的字符(设计时只包括所有字母的大小写,数字,必要的特殊符号,其中整数还不能超过255),既有编的ASCII码表里没有包含其他国家的语言字符,但显然也没法强迫全球都使用英语,于是各个国家开始进行本土化改良,设计能满足自己国家需要的编码,如国内的GB2312。这里的改良涉及两个要点,一是原有的一个字节的编码空间要扩充为两个字节甚至更多,二是新的编码还不能与既有编的ASCII码冲突,否则老美要跟你捉急了!你可以想象,中国搞定了一套,日本也搞定了一套,接着是韩国,越南等巴拉巴拉,大家都有自己的编码标准,各自为政,遇到多语言混合使用的场景这编码表还不炸开的锅,连同计算机一起傻掉!这时Unicode应运而生.Unicode把所有语言都统一到一套编码里,用两个甚至更多的字节来进行编码(通常用两个字节,搞不定时再喊人加砝码呀),这样就不会再有乱码问题了。

python如何学习(二)