WEB开发网
开发学院软件开发C语言 从C#到Python:1 变量和数据类型 阅读

从C#到Python:1 变量和数据类型

 2010-09-30 22:36:50 来源:WEB开发网   
核心提示: 作为数值类型的最后一个问题,C#程序员需要注意的是,从C#到Python:1 变量和数据类型(5),Python没有内建decimal类型,但可以导入decimal模块用来完成与货币处理相关的计算,当使用utf-8编码时,非unicode字符中一个汉字的长度是 3,1.3 高级数据类型1.3.1

作为数值类型的最后一个问题,C#程序员需要注意的是,Python没有内建decimal类型,但可以导入decimal模块用来完成与货币处理相关的计算。

1.3 高级数据类型1.3.1  序列(字符串、列表和元组)

Python中的序列是由非负整数索引的对象的有序集合(真拗口,其实意思就是下标从0开始),它包括字符串、Unicode字符串、列表、元组、xrange对象以及缓冲区对象。后两种类型我们先不介绍,后边用到时再说明。

1.3.1.1  字符串类型

Python拥有两种字符串类型:标准字符串(str)是单字节字符序列,Unicode字符串(unicode)是双字节字符序列。

在Python中定义一个标准字符串(str)可以使用单引号、双引号甚至三引号,这使得Python输入文本比C#更方便。比如当str的内容中包含双引号时,就可以用单引号定义,反之亦然。当字符中有换行符等特殊字符时,可以直接使用三引号定义。这样就方便了很多,不用去记那些乱七八糟的转义字符。当然Python也支持转义字符,且含义和C#基本一样。不过既然有简单的东西用,谁还去自找麻烦呢?

下边是一个例子,来说明以上几点:

1 str1 = 'I am "Python"\n'
2 str2 = "I am 'Python'\r"
3 str3 = """
4 I'm "Python",
5 <a href="http://Csharp.com">you are C#</a>
6  """  #你可以把html代码之类的东西直接弄进来而不需要做特殊处理
7  print str1,str2,str3

在Python中定义一个Unicode字符串,需要在引号前面加上一个字符u,例如

1 # -*- coding: utf-8 -*-
2  print u'我是派森'

这点没有C#方便,因为C#字符串默认就是Unicode的,我想Python如果要改进,应该把两种字符串合二为一,这样可以为初学者减少很多麻烦(你看网上有多少帖子是在问Python怎么支持中文?根源都在这里)。同时注意,当使用utf-8编码时,非unicode字符中一个汉字的长度是 3,而使用gb2312时是2,见下边代码:

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:Python 变量 数据

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接