网上的Python教程很多,我看了不少,这里列一些我看了慕课网等一些资料后的记录整理。
这里整理的不是很好,有时间会重新按照顺序整理。
--------------------------------------------------------
* Python跨平台
Python代码块不用{ }表示,而用缩进。同一个块中必须使用相同的缩进。 一般以新行作为语句的结束符
Python有两个方向---(1).2.x 版本 2.7
(2).3.x版本 3.3 不兼容
因为很多第三方库不支持3.3,所以学习往往用2.7
* 语言 速度 代码量 编译
C 非常快 非常多 机器码
Java 快 多 字节码
python 慢 少 解释执行--->保存成.py文件
就像F1与公交的区别,关键还是网络速度和数据库读取操作
* 将python.exe所在的目录加到path中
* Django是一个有python写的开源web应用框架,只支持python到2.7
ORM,URL分时系统,MVC
* python比较重要的是搞清:序列,元祖,字典,集合等概念 以及 序列表达式,生成器表达式
* 多行显示 a='''...... 单行注释 #
......
......"
print a
* 变量的赋值操作即使声明+定义的过程 var1=1
del var1
print var1 ---报错
Numbers String List [ ] Tuple ( ) Dictionary { }
s='ilovepython'
s[头下标:尾下标]---从头下标一直取到尾下标的前一个,为空表示从头取到尾
“+”字符串连接运算符
对list、tuple等进行切片: L[ : ]--表示从头到尾
L[::2]--表示每两个元素取一个
元祖Tuple不允许更新( , ,,)----但是我们可以对元祖进行连接tuple3=tuple1+tuple2
序列List允许更新 [ , , ,] ----List=[12,14,'as',34]
列表是有序的对象集合,通过偏移来存取
字典是无序的对象集合,通过键来存取
字典的2中声明方式:
1.dict={}
dict['one']='this is one'
dict['two']='this is two'
2.dict2={'name':'john','code':6437,'dept':'sales'}
dict2.keys() #输出所有的键
dict2.values() #输出所有的值
10**2=100 9||2=4
in/not in
a is b -----id(a)==id(b)
zip()函数,range()函数
if 判断条件:
elif条件2:
.....
else:....
for v in dict.itervalues():
for index,name in enumerate(L):--索引迭代
for letter in‘python’: #自动将‘python’当做char[]来看待
print ‘current letter’,letter / print ‘current letter’+letter------------- ,空格 + 直接连
fruits=['apple','banana','pear']
for index i range(len(fruits)):
print 'fruit:'+fruits[index]
for num in range(10,20):
for i in range(2,num): for 条件:
if num%i==0: ......
j=num/i break
print '%d equals %d*%d'%(num, i, j) else: #else语句在for语句正常执行完后执行
break .....
else:
print '%d is a prime number'%num
print 'my name is %s and my age is %d'%('Gao',21)
L=['spam','Spam','SPAM!']
L[2]='SPAM!'
L[-2]='Spam'
len(list) max(list) min(list) list(seq) tuple(seq)
list.append(obj) list.count(obj) list.index(obj) list.insert(obj) list.reverse() list.sort()
字典dict['key']
dict.clear()
del dict
dict.itervalues()
dict.values()---转成一个含value的list
dict.items()--转成一个含tuple的list,同时迭代key/value
dict.iteritems() radiansdict.items()
str(dict)
一个键赋值2次会覆盖掉。
s=set([1,2,3]) set结果跟dictionary很像,只是没有value只有key,创建set的方式是调用set()并传入一个list
add(), remove()
struct_time元祖
不少python函数用一个元祖装起来的9组数字处理时间
time_year
_mon
_mday 一个月中的第几天
_hour
_min
_sec
_wday 一周中的周几
_yday 一年中的第几天
_isdist 夏时令
import time
localtime=time.loadtime(time.time()) ---time.time()为当前时间戳
localtime=time.asctime(time.loadtime(time.time()))
import calendar
cal=calendar.month(2008,1) #打印2008年1月月历
print cal
import math
。。。。。
* def functionname(参数):
'''函数文字说明'''
函数
return
def 函数名(*vartuple):
for var in vartuple:
print var
return
一个module模块只会别导入一次,这样可以防止一遍遍导入
from 模块名 import 函数名
python键盘读取: 1.raw_input("控制台提醒")---读取一行,并返回一个字符串
2.input(...)-----输入的是一个有效的python表达式,返回运算结果
file object=open(file_name,打开模式,buffering)
object.close()
* Class Employee:
'''类的说明'''
empCount=0
def _init_(self,name,salary): #构造函数,self就是实例,就是this,只是this指针是隐式的
self.name=name #name和salary都是self的属性
self.salary=salary #调用函数的时候不必为self赋值,
Employee.empCount=1 #self只有在类的方法中才会有,独立的函数不必带self
def displayCount(self): #self可以用其他的名称代替
print Employee.empCount
def displayEmployee(self):
print self.name,self.salary
emp1=Employee("Zara",2000)
Class 子类名(父类名):
构造函数要重写