最近实践中使用python比较多,于是从网络上综合的学习一下python基本知识。记录于此,留待日后查询回忆。有兴趣的学习才是比较有意思的事。
1、第一条命令
#!/usr/bin/python
print("Hello, World!")
第一行的 #!/usr/bin/python ,加上执行权限后( chmod +x test.py),可以直接用 ./ 执行。
如果写成#!/usr/bin/env python 会去环境设置寻找 python 目录,可以增强代码的可移植性。
如果不写需要使用python script.py来运行程序。
2、编码
Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字。文件头添加
# -*- coding: UTF-8 -*- 或者# coding=utf-8 。
#!/usr/bin/python# -*- coding: UTF-8 -*-
print( "你好" )
3、行和缩进
Python 的代码块不使用大括号 {} 来控制类,函数以及其他逻辑判断。python 最具特色的就是用缩进来写模块。缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量。缩进相同的一组语句构成一个代码块。
建议在每个缩进层次使用 单个制表符 或 两个空格 或 四个空格 , 切记不能混用。
斜杠( \)将一行的语句分为多行显示。
Python 可以使用引号( ' )、双引号( " )、三引号( ''' 或 """ ) 来表示字符串,引号的开始与结束必须是相同类型的。三引号可以由多行组成,编写多行文本的快捷语法。
单行注释采用 # 开头,多行注释使用三个单引号(''')或三个双引号(""")。
同一行中使用多条语句,语句之间使用分号(;)分割。
print 默认输出是换行的,如果要实现不换行需要在变量末尾加上逗号 , 。
4、变量
同时为多个变量赋值 a, b, c = 1, 2, "john" 。del a可以删除对象的引用 。
五个标准的数据类型:Numbers(数字) String(字符串) List(列表) Tuple(元组) Dictionary(字典)。
str = 'Hello World!'
print str # 输出完整字符串
print str[0] # 输出字符串中的第一个字符
print str[2:5] # 输出字符串中第三个至第六个之间的字符串
print str[2:] # 输出从第三个字符开始的字符串
print str * 2 # 输出字符串两次
print str + "TEST" # 输出连接的字符串
列表,完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套)。
list = [ 'runoob', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']
元组用 () 标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。
tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 )
tinytuple = (123, 'john')
列表是有序的对象集合,字典是无序的对象集合。字典当中的元素是通过键来存取的,而不是通过偏移存取。字典由索引(key)和它对应的值value组成。
tinydict = {'name': 'runoob','code':6734, 'dept': 'sales'}
print tinydict.keys() # 输出所有键
print tinydict.values() # 输出所有值
5、数据类型转换
int(x [,base]) 将x转换为一个整数
str(x) 将对象 x 转换为字符串
ord(x)将一个字符转换为它的整数值
hex(x)将一个整数转换为一个十六进制字符串
oct(x)将一个整数转换为一个八进制字符串
6、运算符
加减乘除,+ - * /
% 取模 - 返回除法的余数
** 幂 - 返回x的y次幂
// 取整除 - 返回商的整数部分(向下取整)
== 等于
!=不等于
and 布尔"与"
or 布尔"或"
not 布尔"非"
in 成员运算符,如果在指定的序列中找到值返回 True
not in 如果在指定的序列中没有找到值返回 True
is 是判断两个标识符是不是引用自一个对象
is not 是判断两个标识符是不是引用自不同对象
7、条件语句
if 判断条件:
执行语句……
elif :
执行语句……
else:
执行语句……
python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现。
8、循环语句
while 判断条件(condition):
执行语句(statements)……
while … else 在循环条件为 false 时执行 else 语句块。
for循环:
for letter in 'python':
print '当前字母 :', letter
9、日期与时间
import time
localtime = time.localtime(time.time())
print ("本地时间为 :", localtime)
import calendar
cal = calendar.month(2016, 1)
print ("以下输出2016年1月份的日历:")
print cal
10、函数
def printme( str ):
"函数_文档字符串"
print str
return
函数能处理比当初声明时更多的参数。这些参数叫做不定长参数。加了星号(*)的变量名会存放所有未命名的变量参数。
def printinfo( arg1, *vartuple ):
函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。
11、导入模块
import module 导入模块
from fib import fibonacci 导入模块 fib 的 fibonacci 函数
12、文件IO
读取键盘输入
str = raw_input("请输入:")
print "你输入的内容是: ", str
raw_input可以输入字符串,input 可以接收一个Python表达式作为输入,并将运算结果返回。
文件操作:
fo = open("foo.txt", "w")
print "文件名: ", fo.name
print "是否已关闭 : ", fo.closed
print "访问模式 : ", fo.mode
print "末尾是否强制加空格 : ", fo.softspace
fo.close()
write()方法可将任何字符串写入一个打开的文件,不会在字符串的结尾添加换行符('\n')。Python字符串可以是二进制数据
fo.write( "www\nsss\n")
read()方法从一个打开的文件中读取一个字符串,Python字符串可以是二进制数据。
str = fo.read(10)
tell()方法告诉你文件内的当前位置
position = fo.tell()
把指针再次重新定位到文件开头
position = fo.seek(0, 0)
Python的os模块提供了帮你执行文件处理操作的方法。
os.rename( "test1.txt", "test2.txt" ) 修改满文件名
os.remove(file_name) 删除文件
os.mkdir("newdir") 创建目录
os.chdir("newdir") 关闭当前目录
os.getcwd() 显示当前目录
os.rmdir('dirname')删除目录
13、异常处理
try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。except而带多种异常类型。
try:
正常的操作
......................
except:
发生异常,执行这块代码
......................
else:
如果没有异常执行这块代码
try-finally 语句无论是否发生异常都将执行最后的代码。
网友评论