一、概述

如果你使用Mac,一般已经内置了Python环境,打开终端,输入python进入交互模式,这时你输入 import this 就会显示 Tim Peters 的 The Zen of Python(Python之禅).

the_zen_of_python
the_zen_of_python

Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语文章一样,Python有极其简单的语法,所以Python极其容易上手.Python确实是一种十分精彩又强大的语言。它合理地结合了高性能与使得编写程序简单有趣的特色。

  • 程序由模块构成
  • 模块包含语句
  • 语句包含表达式
  • 表达式建立并处理对象

在Python中,”万物皆对象”这句话体验得淋漓尽致。

二、编码风格

注释

注释 以”#“号开头的内容为单行注释,python解释器会忽略该行的内容。 用一对三个引号(”“”…“”“)可以多行注释。

# -*- coding: utf-8 -*-
str = 'Hi,Python!'
# 这里是单行注释

"""
 这里是多行注释,用三个冒号
 这里是多行注释,用三个冒号
 这里是多行注释,用三个冒号
"""
print  str;

Python 脚本文件一般都应在文件头写明如下标识或其兼容格式的标识:

# -*- coding: utf-8 -*-

这里如果去掉这行标示,如果代码中有中文会出现错误。 以 #! 开头的称为组织行,这行告诉Linux/Unix系统当执行 Python程序的时候,它应该运行哪个解释器。例如:#!/usr/bin/python

分号

语句结尾一般不需要分号”;” 在Python中,一般来说一条语句占用一行。一条语句结束一般不需要使用”;“,但在Python中也可以使用”;“将两条语句写在一行。当一行很长时,Python可以用 \ 符号折行显示代码。

hello = 'Hello World! '  #语句结尾不需要分号 ";"

print  hello; print 'Python';
print 'xxxxxxxxxxxxxxxxxxx' \
      'yyyyyyyyyyyyy'

运行结果:

python_study_1
python_study_1

代码块与缩进

像java,c++,Objectivt-C等语言使用{ }组织代码块,语句间的缩进也是任意的。Python强制所有程序都有相同的编码风格,它通过缩进来组织代码块,缩进的长度不受限制,但就一个功能块来讲,最好保持一致的缩进量。缩进相同的语句被认为是处于同一个代码块中。

intA = 3
intB = 5
if intA> intB:
    print 'intA is greater'
else:
    print 'intB is greater'

变量的命名规则

Python与JAVA的变量(以及函数、类等其它标识符)的命名规则基本一样,同样对大小写敏感。但Python中以下划线开始或者结束的标识符通常有特殊的意义。以 “_” (一个下划线)开头表现实例变量。以”__“(两个下划线)开头表示私有实例变量。 因为下划线对解释器有特殊的意义,而且是内建标识符所使用的符号,所以一般避免用下划线作为变量名的开始。

数据类型

Python 程序中的一切数据都是对象,包括自定义对象及基本数据类型。所以Python不区分值类型和引用类型。 “一切数据是对象,一切命名是引用”。 Python在使用变量之前无须定义它的类型,但是必须声明以及初始化该变量。

intEx = 123
longEx = 1111111111L
floatEx = 123.4
stringEx = 'Hello World'
booleanEx = False

print  type(intEx)
print  type(longEx)
print  type(floatEx)
print  type(stringEx)
print  type(booleanEx)

运行结果:

python_study_2
python_study_2

另一方面,Python又是强类型的。如果我们运行下面的代码,则会产生一个TypeError: unsupported operand type(s) for +: ‘int’ and ‘str’的错误。而在JAVA中,如果将一个int型和String类型相加,则会强制转化为String型。 print intEx+stringEx

正确的写法应该是:

print str(intEx)+stringEx

所以,我们说Python既是一种动态类型语言,同时也是一种强类型的语言。

数值类型

Python拥有四种数值类型:整型(int),长整型(long),浮点类型(float)以及复数类型(complex)。

字符串类型

Python拥有两种字符串类型:标准字符串(str)是单字节字符序列,Unicode字符串(unicode)是双字节字符序列。在Python中定义一个标准字符串(str)可以使用单引号、双引号甚至三引号。在Python中定义一个Unicode字符串,需要在引号前面加上一个字符u。另外,Python没有字符(char)类型,再短的文本也是字符串。

# -*- coding: utf-8 -*-

str1 = 'I Love "Python"\n'
str2 = "I Love 'Python'\r"
str3 = """
         I'm "LiuZhihao",
          <a href="http://liuzhichao.com"> Liu Zhichao </a>
       """
str4 = u'学习Python'
print  str1,str2,str3,str4