Python官网:https://www.python.org/
安装,配置环境变量, 编写程序xxx.py
编码格式配置
#!/usr/bin/python
# -*- coding: UTF-8 -*-
运行程序:
$ python test.py
目录
代码块 用缩进来写模块。不使用大括号 {} 来控制类函数以及其他逻辑判断。
以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问
以双下划线开头的 __foo 代表类的私有成员,以双下划线开头和结尾的 __foo__ 代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数。
单行注释采用 # 开头, 多行注释使用三个单引号(''')或三个双引号(""")
变量类型
Python有五个标准的数据类型:
- Numbers(数字)
- String(字符串)
- List [列表]
- Tuple(元组)
- Dictionary {字典}
- set集合
字符串,列表 通过偏移存取 [头下标:尾下标]
元组只能读 不能更新, 相当于只读列表
字典 由索引(key)和它对应的值(value)组成, 通过键来存取, 不允许同一个键出现两次
集合(set)是一个无序的不重复元素序列。
#存
#数字,字符串
var1 = 1
var2 = 10
str = 'Hello World!'
#列表 []
list = [ 'day', 2018 , 2.23, 'next', 70.2 ]
#嵌套列表
#元组 ()
tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 )
#字典 {}
dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"
#相当于 dict = {'one': 'This is one', 2: 'This is two'}
#集合
parame = {value01,value02,...}
parame = set(value01,value02,...)
#取
print str # 输出完整字符串
print str[0] # 输出字符串中的第一个字符
print str[2:5] # 输出字符串中第三个至第五个之间的字符串
print str[2:] # 输出从第三个字符开始的字符串
print str * 2 # 输出字符串两次
print str + "TEST" # 输出连接的字符串
print list[0] # list第一个元素
print list2[1:5] # list2到6个元素
print dict # 输出完整的字典
print dict.keys() # 输出所有键
print dict.values() # 输出所有值
print dict['one'] # 输出键为'one' 的值
print dict[2] # 输出键为 2 的值
#改
list[2] = 2019
dict['one'] = "new one"
#增加
str = str + 'add'
list.append(obj)
dict['three'] = "This is three"
#删
#删除列表元素,对象引用
del list[2]
del var1[,var2[,var3[....,varN]]]]
list.clear()
# 删除键 'one'
del dict['one']
dict.clear() # 清空字典
del dict # 删除字典
类型转换
#转数字
class int(x, base=10)
#转字符
class str(object)
#列表转换为元组
tuple( seq )
#元组转换为列表
list( tup )
变量方法
#返回字符串长度
len(string)
运算符
'''
** 指数 (最高优先级)
~ + - 按位取反, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % // 乘,除,取模和取整除
+ - 加法减法
>> << 右移,左移运算符
& 按位与
^ | 按位异或,或
<= < > >= 比较运算符
<> == != 等于运算符
= %= /= //= -= += *= **= 赋值运算符
is is not 身份运算符
in not in 成员运算符
and or not 逻辑运算符 与或非
'''
in 如果在指定的序列中找到值返回 True,否则返回 False。 x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
not in 如果在指定的序列中没有找到值返回 True,否则返回 False。 x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。
is is 是判断两个标识符是不是引用自一个对象 x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False
is not is not 是判断两个标识符是不是引用自不同对象 x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。
for 语句
可以遍历任何序列的项目,如一个列表或者一个字符串
迭代器
是访问集合元素的一种方式
list=[1,2,3,4]
it = iter(list) # 创建迭代器对象
print (next(it)) # 输出迭代器的下一个元素
pass 不做任何事情,一般用做占位语句。
def sample(n_samples):
pass
#定义一个空函数程序会报错,当你没有想好函数的内容是可以用 pass 填充,使程序可以正常运行。
函数
def 关键词开头,后接函数标识符名称和圆括号()。
# 定义函数
def functionname( parameters ):
"函数_文档字符串"
function_suite
return [expression]
# 调用函数
functionname( parameter );
内置函数.........
模块
Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。
#模块的引入
import module1[, module2[,... moduleN]]
#模块函数调用
模块名.函数名
# 模块中导入一个指定的部分
from modname import name1[, name2[, ... nameN]]
# 模块中导入所有
from modname import *
数学运算常用的函数基本都在 math 模块、cmath 模块中。
math 模块提供了许多对浮点数的数学运算函数。
cmath 模块包含了一些用于复数运算的函数。
time 时间模块和 calendar 日历模块可以用于格式化日期和时间
import time
import calendar
# 格式化成2016-03-20 11:45:39形式
print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
# 格式化成Sat Mar 28 22:24:24 2016形式
print time.strftime("%a %b %d %H:%M:%S %Y", time.localtime())
#输出2016年1月份的日历
cal = calendar.month(2016, 1)
print cal
python自带的模块,直接import就能用的
别人写好的一些模块,你要安装之后才可以用
- 联网可以直接用pip安装模块
pip install 模块名
- 限制外网无法直接下载时,可以找whl结尾的安装包包然后手动安装
包
包就是文件夹,但该文件夹下必须存在 __init__.py 文件
它定义了一个由模块及子包,和子包下的子包等组成的 Python 的应用环境
文件I/O
Python提供了两个内置函数从标准输入读入一行文本,默认的标准输入是键盘
- raw_input
- input
#!/usr/bin/python
# -*- coding: UTF-8 -*-
#从标准输入读取一个行,并返回一个字符串(去掉结尾的换行符)
str = raw_input("请输入:")
print "你输入的内容是: ", str
'''
请输入:Hello Python!
你输入的内容是: Hello Python!
'''
# input 可以接收一个Python表达式作为输入,并将运算结果返回
str = input("请输入:")
print "你输入的内容是: ", str
'''
请输入:[x*5 for x in range(2,10,2)]
你输入的内容是: [10, 20, 30, 40]
'''
文件操作
open()函数打开一个文件,创建一个file对象
#文件 打开
file object = open(file_name [, access_mode][, buffering])
#读
fileObject.write(string)
#写
fileObject.read([count])
#关
fileObject.close()
#os 模块提供了非常丰富的方法用来处理文件和目录
#重命名文件
os.rename(current_file_name, new_file_name)
#删除文件
os.remove(file_name)
#当前目录
os.chdir("newdir")
#当前目录下创建目录
os.mkdir("newdir")
#删除目录
os.rmdir('dirname')
异常
异常是Python对象,表示一个错误。当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。
try:
<语句> #运行别的代码
except (Exception1[, Exception2[,...ExceptionN]]]):
<语句> #如果在try部份引发了'Exception'异常
except <ExceptionType>, <Argument>:
<语句> #如果引发了'ExceptionType'异常,获得附加的Argument参数
else:
<语句> #如果没有异常发生
try:
<语句>
finally:
<语句> #退出try时总会执行
raise
#使用raise语句自己触发异常
raise [Exception [, args [, traceback]]]
例:
#可以不带任何异常类型使用except
try:
正常的操作
......................
except:
发生异常,执行这块代码
......................
else:
如果没有异常执行这块代码