关于Python的两个实用冷技巧

开发 后端 前端
本文转载赖勇浩的博客,主要分享两个关于Python两个实用小技巧。

一. 记得刚开始工作的时候,老大给我们上 C++ 基础课,告诉我们字符串字面量可以换行(如下代码),感觉真是如梦如幻。

  1. #include <stdio.h>  
  2.  
  3. int main(int argc, char** argv)  
  4. {  
  5.         char* w = "hello" 
  6.                 " " 
  7.                 "world." 
  8.                 ;  
  9.         printf("%s", w);  
  10.         return 0;  
  11. }  

输出:

  1. hello world. 

后来在写了很久的 Python 以后,才知道 Python 其实也可以的:

  1. >>> t = ('hello' 
  2. ... ' ' 
  3. ... 'world')  
  4. >>> t  
  5. 'hello world' 

这个特性很有用,能够把超长的代码优雅地分为几行。记得以前在拼 SQL 语言、写日志条目的时候总为代码行长度超过 78 感到纠结(见我们的编程规范:http://blog.csdn.net/lanphaday/article/details/6601123),现在没有压力啦。

二. 在写 absolute32(见:http://blog.csdn.net/lanphaday/article/details/6762023)的测试代码的时候,为了让测试代码兼容 Python2.x/3.x 两大版本,引入了一砣丑陋的代码:

  1. if sys.version < '3':  
  2.         exec("chinese = unicode('赖勇浩', 'utf-8')")  
  3. else:  
  4.         exec("chinese = '赖勇浩'"

这是因为在 Python2.x 中

  1. chinese = '赖勇浩' 

的编码不是 unicode 的,而在 Python3.x 中取消了字符串字面量的前缀 u,所以

  1. chinese = u'赖勇浩' 

又直接语法错误,当时只好写下了 exec 的代码根据不同的版本来进行编译。后来才知道 Python2.6 中引入了 unicode_literals,可以很方便地写 2.x/3.x 兼容的代码:

  1. >>> x = '中国' 
  2. >>> x  
  3. '\xe4\xb8\xad\xe5\x9b\xbd' 
  4. >>> from __future__ import unicode_literals  
  5. >>> y = '中国'   
  6. >>> y  
  7. u'\u4e2d\u56fd' 

这样,我那砣丑代码也可以美化掉啦!

原文:http://blog.csdn.net/lanphaday/article/details/6793567

【编辑推荐】

  1. 对于Python Web编程的一些概念总结
  2. Python 3.2.2正式版发布
  3. Python在Linux平台上的发展前景展望
  4. 五分钟理解Python元类(Metaclasses)
  5. Python入门之你必须了解的语法与类型
责任编辑:陈贻新 来源: 赖勇浩的博客
相关推荐

2020-08-31 11:40:54

VimLinux字符

2010-11-22 15:48:40

MySQL修复表

2022-04-04 21:33:48

进度条Python

2012-02-13 09:38:20

诺基亚SymbianMWC

2010-02-25 16:45:13

WCF应用技巧

2019-10-31 08:22:39

shell脚本Linux

2013-12-18 10:34:42

OpenMP线程

2022-03-02 11:19:09

网络安全

2023-10-26 18:03:14

索引Python技巧

2020-05-28 08:59:40

Python机器学习开发

2023-02-13 15:09:01

开发webCSS技巧

2023-08-11 17:39:43

JavaScriptWeb 应用程序

2009-06-26 08:28:07

微软Windows 7双系统

2017-10-16 10:59:15

系统存储SQL Serve

2020-07-11 09:45:33

Python编程语言开发

2024-01-19 13:45:00

Pandas代码深度学习

2023-04-26 00:34:36

Python技巧程序员

2021-11-15 10:02:16

Python命令技巧

2023-11-26 17:54:07

JavaScript开发

2012-06-13 11:25:23

Windows 8系统技巧
点赞
收藏

51CTO技术栈公众号