python的编程风格

python编程风格

python简洁明了的编程格式,如果不按照python既定的格式进行编写程序,直接报错,所以说,刚开始编写python代码会常常报错。这里我就用C语言和python语言做简单的比较。

  • C语言显示hello world
#include <stdio.h>

void hello()
{
    printf("hello!\n");
}

void main()
{
    hello();
}

从上面的代码我们会发现,C代码块是通过花括号{}做以区别。

  • python显示hello world
#!/usr/bin/env python
def hello():
    print "hello world"

def main():
    hello()

main()

根据上面的两个不同编程语言实现同一功能的分析,总结python编程初级要掌握的编程风格如下:

  • 不要在行尾加分号;
  • 每行不超过80个字符;
  • Python语言利用缩进表示语句块的开始和退出(Off-side规则),而非使用花括号或者某种关键字。
  • 增加缩进表示语句块的开始,而减少缩进则表示语句块的退出。缩进成为了语法的一部分。

python注释

  • 单行注释:#常被用作单行注释符号,#开头的行,其右边的任何数据都会被忽略,当做是注释。
  • 块注释: 需要批量文本或代码时,使用三引号''' '''.,当然三引号也可以实现多行文本格式化打印。

理解字符编码

  • ASCII:美国人发明了计算机,用二进制存储数据,英文字母加各个字符一共128个,每8位存储一个字符,2^8=256,可通过ord()函数去查看字符对应的ASCII码。

  • Unicode:但是ASCII码忽略了中文,韩文,日文等其他国家的文字,这个时候256个字符的对应关系明显是不够用的,这时候就用两个字节对应一个文字,2**16=65536.

  • UTF-8:英文字符明明可以通过一个字节存储,Unicode却需要2个字节来存储,对于存储比较小的计算机来说,是浪费很多不必要占用的空间,这个时候就出现utf-8。那么什么是utf-8呢?简单来说就是可变长度编码格式,英文字符用ASCII码来存,而中文呢,就用utf-8来存,这个时候中文就不是两个字节存储,而是三个字节来存。

而python编程有个要注意的问题,当python90年代还没有出现Unicode,使用时需要手动指定Unicode格式。

# 指定存储格式为Unicode
[kiosk@foundation0 ~]$ python
Python 2.7.5 (default, Aug  2 2016, 04:20:16) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> a = 'westos'
>>> type(a)
<type 'str'>
>>> b = u'westos'
>>> type(b)
<type 'unicode'>

字符的编码与解码

  • 当存储数据到硬盘,需要考虑到节省空间的问题,所以采用utf-8格式进行存储;
  • 当将数据读入内存时,统一一个编码格式便于操作,采用unicode编码格式;
  • 因此字符的编码与解码一定要熟练操作。
# 定义一变量,编码格式为unicode
>>> name_unicode = u'粉条'
>>> type(name_unicode)
<type 'unicode'>

# 字符的编码,从unicode到utf-8格式
>>> name_utf8 = name_unicode.encode('utf-8')
>>> type(name_utf8)
<type 'str'>

# 字符的解码操作,从utf-8解码到unicode编码格式
>>> name_to_unicode = name_utf8.decode('utf-8')
>>> type(name_to_unicode)
<type 'unicode'>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值