自己之前学习的笔记,记录一下,方便查找
# -*- coding: utf-8 -*-
#执行命令:进入文件夹目录运行 python hellp.py
print r'\(~_~)/ \(~_~)/' #在字符串前面加r表示raw字符串,里面的字符串不需要转义
#'''...'''表示多行字符串
print '''Line 1
Line 2
Line 3'''
#布尔类型运算
print True and True
print True or False
print not True
#list有序集合
L=['Michael', 'Bob', 'Tracy']
print L[0] #访问第一个元素
print L[-1] #访问最后一个元素,-2访问倒数第二个元素、
L.append('Paul') #往list最后添加一个元素
L.insert(1, 'Kimmy') #往list索引号为1的位置(下标从0开始)添加一个元素
print L
L.pop() #删除最后一个元素
L.pop(2) #删除索引为2的元素
L[0]='Hello' #替换第一个元素
print L
#对list进行切片(支持倒序切片)
L = ['Adam', 'Lisa', 'Bart', 'Paul']
print L[0:3] #取从索引0开始到索引3为止,不包括索引3
print L[:3] #第一个索引为0时可省略,与上同
print L[:] # :表示从头到尾,复制了一个新list
print L[::2] #第三个参数表示每2个取一个
print L[-3:-1] #从倒数第三个开始取,到倒数第一个结束,不含倒数第一
print 'ABCDEFG'[:3] #字符串同样支持此方法进行切片
#tuple不能修改的有序列表(元组)
T= ('Adam', 'Lisa', 'Bart')
t = (1,) #创建单元素tuple,多加一个','避免歧义
X = ('a', 'b', ['A', 'B']) #如果list作为tuple的元素,可以修改list对象的元素
Y=X[2]
Y[0]='X'
Y[1]='Y'
print X
#dict集合(类似键值对,key不能重复且不可变,无序类型)
d = {
'Adam': 95,
'Lisa': 85,
'Bart': 59
}
print len(d) #长度为3
if 'Lisa' in d: #使用in操作符判断key是否存在
print d['Lisa']
print d.get('Lisa') #使用get方法,如何key不存在,返回None
d['Adam']=72 #更新或新增dict的内容
for key in d: #遍历dict
print key,':',d[key]
print d.values() #dict对象的values方法可以把dict转换成一个包含所有value的list
for v in d.itervalues(): #itervalues方法也可将dict中的value取出,但它不会转换
print v
for key, value in d.items(): #使用items方法同时遍历dict的key和value
print key, ':', value
for key, value in d.iteritems(): #使用iteritems方法同时遍历dict的key和value,不转换成list
print key, ':', value
#set集合(元素无序且不重复)
s = set(['A', 'B', 'C']) #创建set的方式是调用set()并传入一个list
'A' in s #使用in操作符判断某元素是否在set中
for name in s: #遍历set集合
print name
s.add('D') #set添加新元素,如果该元素已存在,不会报错亦不会加进去
s.remove('A') #set删除元素,如果该元素不存在,则会报错
print s
#判断语句
age=8
if age >= 18:
print 'adult' #按4个空格,不要用tab
elif age >= 6:
print 'teenager'
elif age >= 3:
print 'kid'
else:
print 'baby'
#循环语句
L = ['Adam', 'Lisa', 'Bart']
for name in L:
print name
sum = 0 #计算1至100的和
x = 1
while True:
sum = sum + x
x = x + 1
if x > 100:
break #退出循环
print sum
L = [75, 98, 59, 81, 66, 43, 69, 85] #统计60分以上的平均分
sum = 0.0
n = 0
for x in L:
if x < 60:
continue #低于60分的不累加,退出当前循环,继续下一循环
sum = sum + x
n = n + 1
print sum / n
#函数(使用def定义)
import math #引入math包里的函数
def move(x, y, step, angle=1.5): #设置参数默认值1.5,只能定义在必需参数后面
nx = x + step * math.cos(angle)
ny = y - step * math.sin(angle)
return nx, ny
r = move(100, 100, 60, math.pi / 6)
print r #打印出来(151.96152422706632, 70.0),Python函数返回多值其实就是返回一个tuple
def fn(*args): #使用*定义可变参数,可以传入0个,1个或多个参数,相当于把args看成一个tuple
print args
fn('a', 'b') #传入两个参数
fn('a', 'b', 'c') #传入三个参数
#enumerate函数进行索引迭代
L = ['Adam', 'Lisa', 'Bart', 'Paul']
for index, name in enumerate(L):
print index, '-', name
#生成列表
print range(1,11) #生成list [1,2,3,4,5,6,7,8,9,10]
print range(1, 100, 2) #可以生成list [1, 3, 5, 7, 9,...,99]
print [x * x for x in range(1, 11)] #列表生成式,生成[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
print [x * x for x in range(1, 11) if x%2==0] #只取偶数的平方,生成[4,16,36,64,100]
print [m + n for m in 'ABC' for n in '123'] #多层表达式,生成['A1', 'A2', 'A3', 'B1', 'B2', 'B3', 'C1', 'C2', 'C3']
#新建app
python manage.py startapp app_name
#生成迁移文件(类似生成SQL脚本)
python manage.py makemigrations
#执行迁移(根据迁移文件创建表)
python manage.py migrate
#创建管理员(用户名:python 密码:python)
python manage.py createsuperuser
#启动服务
python manage.py runserver