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) | 将一个整数转换为一个八进制字符串 |