自己曾经学习python2总结的东西,现在打算使用python3,在此记录一下
1.基础东西
1. raw_input
控制台输入,返回字符串,如需要转换,加int
例:a = int(raw_input('Please input:'))
2.if-elif-else 结构
if条件后面加冒号“:” while、for 一样
3.for 循环
例:for i in range(0, 100): 表示循环0-99
print i
4.函数 def 定义 最后也得加冒号 支持默认参数 原理同c++
例:def test_fun():
print ‘test_fun’
5.关键参数
例:
def func(a, b=5, c=10):
print 'a is', a, 'and b is', b, 'and c is', c
func(3, 7)
func(25, c=24)
func(c=50, a=100)
6.
函数返回值和DocString(相当于函数说明,放与函数内第一行)
def fun():
'function fun'
return 3
print fun() 输出3
print fun.__doc__ 输出function fun
7.输出命令行参数
import sys
for i in sys.argv:
print i
8.暂停控制台
1)raw_input()
2)os.system(“pause”)
9. from
… import
…
from sys import argv
from sys import
*
import
sys
as
s #
简称,别名
10.
dir()函数
使用内建的dir
函数来列出模块定义的标识符。标识符有函数、类和变量
11.取得当前时间
time.strftime('%Y%m%d%H%M%S')
2.数据结构
1.list列表
可以添加、删除,可以修改元素 用中括号存储元素
a = [1, 2, 3]
print "len:", len(a)
for item in a:
print item
a.append(0)
print "add end:", a
a.sort()
print "sort end:", a
del a[0]
print "del end:", a
aa = [10, 20, a]
print "list in list:", aa
#sequence string is same
print "a[-1] =", a[-1]
print "a[1:3] =", a[1:3]
print "a[2:] =", a[2:]
print "c1[1:5] =", c1[1:6]
列表综合
从一个已有的列表导出一个新的列表
aa = [1,2,3]
bb = [i + 10 for i in aa if i > 0]
print bb
2.元组
不能添加、删除,不能修改元素 用小括号存储元素
主要用户字符串拼接或print 输出
a = 1
b = "a"
c = "%s = %d" % (b, a)
3.字典
相当于map,但是无序,可以添加、删除,可以修改元素,用大括号存储元素,键值用冒号连接
m = { 1:11, 2:22, 3:33}
print m
#add or change
m[2] = 222
print m
del m[3]
print m
#loop for print
for k,v in m.items():
print "key:%d,value:%d" % (k,v)
#find
print "find key = %s" % (3 in m)
print "find key = %s" % (m.has_key(2))
4.参考
#reference
a = ['a', 'b', 'c', 'd']
b = a #pointer
del a[0]
print 'a is', a
print 'b is', b
b = a[:] #copy
del a[0]
print 'a is', a
print 'b is', b
5.字符串str
s = "ABCDEFG"
print s.startswith("AB");
print "CD" in s
print s.find("BCD") #return index
delimiter = "*"
sa = ['a', 'b', 'c']
print delimiter.join(sa)
3.类
1.空类 里面加pass 函数同理
class aa:
pass
2.成员函数
成员函数第一个参数必须是self,成员变量(对象变量)前也要加self.进行调用,类的变量(静态变量)用类名调用
__init__相当于构造函数 创建对象时调用
__del__相当于析构函数 del 删除对象时调用
class aa:
def __init__(self, name):
self.name = name
def fun(self):
print "name =", self.name
p = aa("DengGe")
p.fun()
3.继承
class Root:
def __init__(self, name):
self.name = name
print "Root:", self.name, "is create"
def fun(self):
print "Root_fun"
class A(Root):
def __init__(self, name):
Root.__init__(self, name)
print "Child:", self.name, "is create"
def fun(self):
#Root.fun(self)
print "A_fun"
class B(A):
def fun(self):
print "B_fun"
a = A('a')
b = B('b')
ss = [a, b]
for s in ss:
s.fun()
4.文件
1.读写
filename = "1.txt"
f = file(filename, "w");
s = """123
abc"""
f.write(s)
f.close
a = []
f = file(filename, "r")
while True:
s = f.readline()
if len(s) == 0:
break
print s,# Notice comma to avoid automatic newline added by Python
a.append(s)
f.close()
print "\n", a
2.储存器
import cPickle as p
file_name = 'save.data'
data = ['aa', 'bb', 'cc']
f = file(file_name, 'w')
p.dump(data, f)
f.close()
del data
f = file(file_name)
data = p.load(f)
print data
5.异常
1.正常
try:
throw
except EOFError:
print 'EOFError'
except:
print 'other'
2.自定义
class MyE(Exception):
def __init__(self, name):
self.name = name
try:
raise MyE("MyE")
except MyE, x:
print x.name
except:
print 'other'
finally:
print 'finally'
6.os
print os.getcwd() 取得当前工作路径
print os.listdir(os.getcwd()) 取得指定路径下所有文件/文件夹
os.system("calc") 执行系统命令
os.remove("2.txt") 删除文件
s = os.path.split("D:\\aa\\1.txt") 拆分全路径
print os.path.isfile("C:\\1.ini") // 验证是否是文件
print os.path.isdir("C:\\aaa") // 验证是否是路径
print os.path.exists("C:\\CCC") // 判断路径是否存在
print os.path.exists("C:\\1.ini") // 判断文件是否存在
7.类的特殊方法
以上是以前记录的知识点,马上要学习3了,加油吧