Python学习

基于Python 2

Posted by ZFKY on October 14, 2017

Python学习

Python基础语法

##第一个Python程序

学习所有语言最先做的——打印Hello World!

print "Hello World!";

##Python标识符

以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入;

以双下划线开头的 __foo 代表类的私有成员;以双下划线开头和结尾的 __foo__ 代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数。

##行和缩进

python 最具特色的就是用缩进来写模块,缩进的空白数量是可变的,但是所有代码块语句必须包含相同的空白缩进,否则会报错。

if True:
    print "True"
else:
  print "False

这时就会报错,一般缩进层次使用__单个制表符__或两个空格四个空格

多行语句

Python语句中一般以新行作为为语句的结束符。

但是我们可以使用斜杠( \)将一行的语句分为多行显示,如下所示:

total = item_one + \
        item_two + \
        item_three

语句中包含 [], {} 或 () 括号就不需要使用多行连接符。如下实例:

days = ['Monday', 'Tuesday', 'Wednesday',
        'Thursday', 'Friday']

Python引号

Python 可以使用引号( )、双引号( )、三引号( ’’‘””“ ) 来表示字符串,其中三引号可以由多行组成,常用于文档字符串,在文件的特定地点,被当做注释。

word = 'word'
sentence = "这是一个句子。"
paragraph = """这是一个段落。
包含了多个语句"""

Python注释

# 第一个注释
print "Hello, Python!";  # 第二个注释

python 中多行注释使用三个单引号(‘’‘)或三个双引号(“””)。

'''
这是多行注释,使用单引号。
这是多行注释,使用单引号。
这是多行注释,使用单引号。
'''

"""
这是多行注释,使用双引号。
这是多行注释,使用双引号。
这是多行注释,使用双引号。
"""

Python空行

函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。

空行并不是Python语法的一部分,但是空行也是程序代码的一部分,分隔不同功能和含义的代码,便于日后代码维护和重构。

等待用户输入

下面的程序执行后就会等待用户输入,按回车键后就会退出:

下面的程序执行后就会等待用户输入,按回车键后就会退出:

以上代码中 ,”\n\n”在结果输出前会输出两个新的空行。一旦用户按下 enter(回车) 键退出,其它键显示。

Print输出

print 默认输出是换行的,如果要实现不换行需要在变量末尾加上逗号:

# 换行输出
print x
print y
# 不换行输出
print x,
print y,

多个语句构成代码组

缩进相同的一组语句构成一个代码块,我们称之代码组。

像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。

我们将首行及后面的代码组称为一个子句(clause)。

如下实例:

if expression : 
   suite 
elif expression :  
   suite  
else :  
   suite 

变量类型

变量赋值

Python变量赋值不需要声明类型。

counter = 100 # 赋值整型变量
miles = 1000.0 # 浮点型
name = "John" # 字符串

多个变量赋值

Python允许你同时为多个变量赋值。例如:

a = b = c = 1
a, b, c = 1, 2, "john"

标准数据类型

Python有五个标准数据类型:

  • Number(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Dictionary(字典)

Python数字

可以用del语句删除一些对象的引用。

var1 = 1
var2 = 2
var3 = 3
del var1
del var2, var3

Python支持四种不同的数字类型:

  • int
  • long(长整型[也可以代表八进制和16进制])
  • float
  • complex(复数)

Python字符串

Python的字符串列表有两种取值顺序:

  • 从左到右的索引默认从0开始,最大范围是字符串长度少1
  • 从右到左索引默认-1开始的,最大范围是字符串开头

从中取一段的话,可以使用变量__[头下标:尾下标]__,比如:

s = 'ilovepython'

s[1:5]的结果就是love。

加号(+)是字符串连接运算符,星号(*)是重复操作。如下实例:

str = 'Hello World!'
print str * 2       # 输出字符串两次
print str + "TEST"  # 输出连接的字符串

输出结果为:

Hello World!Hello World!
Hello World!TEST

Python列表

List(列表)用__[ ]标识,切割可以用变量[头下标:尾下标]__,(+)(*)和String一样。

Python元组

类似于List,元组用__( )标识,和List的区别在于__不能二次赋值,想当于只读List。

Python字典

字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。

两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

字典用__{ }__标识。字典由索引(key)和它对应的值value组成。

dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"
 
tinydict = {'name': 'john','code':6734, 'dept': 'sales'}
 
 
print dict['one']          # 输出键为'one' 的值
print dict[2]              # 输出键为 2 的值
print tinydict             # 输出完整的字典
print tinydict.keys()      # 输出所有键
print tinydict.values()    # 输出所有值

输出结果为:

This is one
This is two
{'dept': 'sales', 'code': 6734, 'name': 'john'}
['dept', 'code', 'name']
['sales', 6734, 'john']

Python数据类型转换

函数 描述
int(x,base) 将x转换成一个整数,base表示进制
long(x,base) 将x转换成一个长整数,base表示进制
float(x) 将x转换成一个长整数
complex(real,i) 创建一个复数,real是实部,i是虚部
str(x) 将对象x转换成字符串
repr(x) 将对象x转换成表达式字符串
eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s) 将序列s转换为一个元组
list(s) 将序列s转换为一个列表
set(s) 转换为可变集合
dict(d) 创建一个字典。d必须是一个序列(key,value)元组
frozenset(s) 转变为不可变集合
chr(x) 将一个整数转换为一个字符
unichr(x) 将一个整数转换为Unicode字符
ord(x) 将一个字符转换为它的整数值
hex(x) 将一个整数转换为一个十六进制字符串
oct(x) 将一个整数转换为一个八进制字符串