Chinaunix首页 | 论坛 | 博客
  • 博客访问: 616054
  • 博文数量: 127
  • 博客积分: 6136
  • 博客等级: 准将
  • 技术积分: 1461
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-24 00:32

分类: Python/Ruby

2010-09-07 15:12:34


在Python中有4种类型的数——整数(int)、长整数(long)、浮点数(float)和复数。
     2是一个整数的例子。
     长整数不过是大一些的整数。
     3.23和52.3E-4是浮点数的例子。E标记表示10的幂。在这里,52.3E-4表示52.3 * 10-4。
    (-5+4j)和(2.3-4.6j)是复数的例子。

字符串(str)
字符串是字符的序列。字符串基本上就是一组单词。
我几乎可以保证你在每个Python程序中都要用到字符串,所以请特别留心下面这部分的内容。
下面告诉你如何在Python中使用字符串。
    使用单引号(')
    你可以用单引号指示字符串,就如同'Quote me on this'这样。所有的空白,即空格和制表符都照原样保留。
    
    使用双引号(")
    在双引号中的字符串与单引号中的字符串的使用完全相同,例如"What's your name?"。
   
    使用三引号('''或""")
    利用三引号,你可以指示一个多行的字符串。你可以在三引号中自由的使用单引号和双引号。例如:
    '''This is a multi-line string. This is the first line.
    This is the second line.
    "What's your name?," I asked.
    He said "Bond, James Bond."
    '''
   
    转义符
    假设你想要在一个字符串中包含一个单引号('),那么你该怎么指示这个字符串?例如,这个字符串是What's your name?。你肯定不会用'What's your name?'来指示它,因为
   Python会弄不明白这个字符串从何处开始,何处结束。所以,你需要指明单引号而不是字符串的结尾。可以通过转义符来完成这个任务。你用\'来指示单引号——注意这个反斜杠。现在你可以把字符串表示为'What\'s your name?'。
    另一个表示这个特别的字符串的方法是"What's your name?",即用双引号。类似地,要在双引号字符串中使用双引号本身的时候,也可以借助于转义符。另外,你可以用转义符\\来指示反斜杠本身。
    值得注意的一件事是,在一个字符串中,行末的单独一个反斜杠表示字符串在下一行继续,而不是开始一个新的行。例如:
    "This is the first sentence.\
    This is the second sentence."
    等价于"This is the first sentence. This is the second sentence."
   
    自然字符串
    如果你想要指示某些不需要如转义符那样的特别处理的字符串,那么你需要指定一个自然字符串。自然字符串通过给字符串加上前缀r或R来指定。例如r"Newlines are indicated by \n"。
   
    Unicode字符串
    Unicode是书写国际文本的标准方法。如果你想要用你的母语如北印度语或阿拉伯语写文本,那么你需要有一个支持Unicode的编辑器。类似地,Python允许你处理Unicode文本——你只需要在字符串前加上前缀u或U。例如,u"This is a Unicode string."。记住,在你处理文本文件的时候使用Unicode字符串,特别是当你知道这个文件含有用非英语的语言写的文本。
   
    字符串是不可变的
    这意味着一旦你创造了一个字符串,你就不能再改变它了。虽然这看起来像是一件坏事,但实际上它不是。我们将会在后面的程序中看到为什么我们说它不是一个缺点。
   
    按字面意义级连字符串
    如果你把两个字符串按字面意义相邻放着,他们会被Python自动级连。例如,'What\'s'
    'your name?'会被自动转为"What's your name?"。

标识符的命名
变量是标识符的例子。 标识符是用来标识某样东西的名字。在命名标识符的时候,你要遵循这些规则:
    标识符的第一个字符必须是字母表中的字母(大写或小写)或者一个下划线(‘ _’)。
    标识符名称的其他部分可以由字母(大写或小写)、下划线(‘ _ ’)或数字(0-9)组成。
    标识符名称是对大小写敏感的。例如,myname和myName不是一个标识符。注意前者中的小写n和后者中的大写N。
    有效 标识符名称的例子有i、__my_name、name_23和a1b2_c3。
    无效 标识符名称的例子有2things、this is spaced out和my-name。

运算符:
运算符   名称      说明                                                     例子
  +      加      两个对象相加                                        3 + 5得到8。'a' + 'b'得到'ab'。
  -       减      得到负数或是一个数减去另一个                       -5.2得到一个负数。50 - 24得到26。
  *       乘      两个数相乘或是返回一个被重复若干次的字符串        2 * 3得到6。'la' * 3得到'lalala'。                       
  **      幂      返回x的y次幂                             3 ** 4得到81(即3 * 3 * 3 * 3)
  /       除      x除以y                                    4/3得到1(整数的除法得到整数结果)。4.0/3或4/3.0得到1.3333333333333333    
  //    取整除    返回商的整数部分                                   4 // 3.0得到1.0                            
  %     取模     返回除法的余数                                      8%3得到2。-25.5%2.25得到1.5      
  <<   左移     把一个数的比特向左移一定数目                       2 << 2得到8
  >>   右移     把一个数的比特向右移一定数目                      11 >> 1得到5。
  &    按位与    数的按位与                                    5 & 3得到1。
  |     按位或    数的按位或                                     5 | 3得到7。
  ^    按位异或  数的按位异或                                   5 ^ 3得到6
  ~    按位翻转  x的按位翻转是-(x+1)                             ~5得到-6。
  <    小于      返回x是否小于y。                             5 < 3返回0(即False)而3 < 5返回1
  >    大于      返回x是否大于y                           5 > 3返回True。如果两个操作数都是数字,它们首先被转换为一个共同的类型。否则,它总是返回False。
  <=  小于等于  返回x是否小于等于y                       x = 3; y = 6; x <= y返回True。
  >=  大于等于  返回x是否大于等于y                       x = 4; y = 3; x >= y返回True。
  ==   等于     比较对象是否相等                                x = 2; y = 2; x == y返回True。x = 'str'; y ='stR'; x == y返回False。
  !=   不等于    比较两个对象是否不相等                         x = 2; y = 3; x != y返回True。
  not 布尔“非” 如果x为True,返回False。                    x = True; not y返回False。
  and 布尔“与” 如果x为False,返回False,否则返回y的计算值  x = False; y = True; x and y,由于x是False,返回False。
  or  布尔“或” 如果x是True,返回True,否则返回y的计算值    x = True; y = False; x or y返回True。

ps:
使用表达式:
#!/usr/bin/python
# Filename: expression.py
length = 5
breadth = 2
area = length * breadth
print 'Area is', area
print 'Perimeter is', 2 * (length + breadth)

阅读(1575) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~