我想建立一个微信平台,但是不是很喜欢PHP,java又要钱,看来学习python,比较靠谱。
python 查看版本
exit() 退出
Python的第一个程序当然是HelloWorld。
print 'HelloWorld'
保存为 .py
进入命令行
chmod +x ./hello.py
python ./hello.py
执行结果。
第一个程序,到这里结束。
python 的加减什么的基本和java是一样一样的。
但是True False 是大写的,
最神奇的是:
print ‘123123’,‘123123123’
123123 123123123
,可以作为连接符,同时代表一个空格
# 我是注释
raw 字符串
这个和html里面的
<pre></pre>是用的道理,只是这里使用的是 r' ' 但是只支持单行
如果有多行,需要表示,则使用 r''' ''' 就可以了
# -*- coding: utf-8 -*- #设定编码格式
print u'你好'
print u''' 第一行
第二行'''
print ur'''Python 的Unicode字符串支持"中文","日文","韩文"等多种语言'''
List 其实就是数组,但是其不分类型
l ['a',1213,'a]
print l
print l[0] #第一个
print l[2] # 最后一个
print l[-1] # 倒数第一个,最后一个
print l[-3] # 倒数第三个,第一个
append() 在末尾添加
insert(pos,str) 在指定位置添加
pop() 删除最后一个,并返回
pop(pos) 根据索引,删除数据
L[1] = '123' 直接更改,列表的数据
tuple
tuple 是不能改变的
t = ('Adam', 'Lisa', 'Bart')
t[0] 这样访问,同时,没有append(),pop(),insert()等方法
创建tuple时,如果只有没有元素 t() 如果只有一个,就用t=(1,)需要多加一个逗号,否者,解释器,并不知道这代表一个tuple而是把括号当做一个运算符
if
缩进很重要,:代表代码块的开始
score = 75
if score>=60:
print 'passed'
if-else
score = 55
if score>=60:
print 'passed'
else:
print 'failed'
if-elif-else
score = 85
if score>=90:
print 'excellent'
elif score>=80:
print 'good'
elif score>=60:
print 'passed'
else:
print 'failed'
while
sum = 0
a = 1;
while a<=100:
if a%2==1:
sum = sum+a
a=a+1
print sum
break
sum = 0
x = 1
n = 1
while True:
sum = sum+x
if n==20:
break
n = n+1
x = x*2
print sum
continue
sum = 0
x = 0
while True:
x = x + 1
if x > 100:
break
if x%2==1:
sum = sum+x
x = x+1
print sum
多重循环遍历
for x in [ 1,2,3,4,5,6,7,8,9 ]:
for y in [1,2,3,4,5,6,7,8,9,0]:
if x<y:
print 10*x+y
dict
d = {
'Adam':95,
'Lisa':85,
'Bart':59,
'Paul':75
}
print len(d)
d = {
'Adam': 95,
'Lisa': 85,
'Bart': 59
}
print 'Adam:',d['Adam']
print 'Lisa:',d['Lisa']
print 'Bart:',d['Bart']
if 'Adam' in d:
print d['Adam']
print d.get('Adam')
print d.get('123')
添加
d = {
95: 'Adam',
85: 'Lisa',
59: 'Bart'
}
print d
d['Paul'] = 72 # 添加
print d
for key in d # 遍历
print key
set集合
s = set(['a','b','c'])
print s
s = set(['a','b','c','c']) # 自动去重复
print s
print len(s)
s = set(['Adam','Lisa','Bart','Paul'])
print s
print 'Adam' in s # 判断Adam是否在这里面
for key in s # 进行遍历
s = set([('Adam', 95), ('Lisa', 85), ('Bart', 59)])
for x in s:
print x[0],':',x[1]
s = set(['Adam', 'Lisa', 'Paul'])
L = ['Adam', 'Lisa', 'Bart', 'Paul']
for l in L:
if l in s:
s.remove(l)
else:
s.add(l)
print s
函数的使用
sum
L = []
n = 1
while n<=100:
L.append(n*n)
n = n+1
print sum(L)
定义函数
def square_of_sum(L):
sum = 0
for l in L:
sum = sum + l*l
return sum
print square_of_sum([1, 2, 3, 4, 5])
print square_of_sum([-5, 0, 5, 15, 25])
import math
def quadratic_equation(a, b, c):
has = b*b - 4*a*c;
if has>=0:
return (-b + math.sqrt(has))/(2*a),(-b - math.sqrt(has))/(2*a)
else:
return
print quadratic_equation(2, 3, 0)
print quadratic_equation(1, -6, 5)
运行一次返回多值
递归函数
def move(n, a, b, c):
if n==1:
print a,'-->',c
return
move(n-1,a,c,b)
print a,'-->',c
move(n-1,b,a,c)
move(4, 'A', 'B', 'C')
设定函数的默认值
def greet(a='world'):
print 'Hello,'+a+'.'
greet()
greet('Bart')
传人不同长度的参数
def average(*args):
sum = 0.0
if len(args)==0:
return sum
for x in args:
sum = sum+x
sum = sum/len(args)
return sum
print average()
print average(1, 2)
print average(1, 2, 2, 3, 4)
list 截取
L = range(1, 101)
print L[:10]
print L[2::3]
print L[4:50:5]
首字母变大
def firstCharUpper(s):
return s[:1].upper()+s[1:]
print firstCharUpper('hello')
print firstCharUpper('sunday')
print firstCharUpper('september')
循环迭代
for i in range(1,101):
if not i%7:
print i
Dict 迭代值
d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59, 'Paul': 74 }
sum = 0.0
for x in d.itervalues():
sum = sum + x
sum = sum/len(d)
print sum
键 值 迭代
d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59, 'Paul': 74 }
sum = 0.0
for k, v in d.iteritems():
sum = sum + v
print str(k)+':'+str(v)
print 'average', ':', sum/len(d)
直接生产 list
print [x*(x+1) for x in range(1,100,2)]
[2, 12, 30, 56, 90, 132, 182, 240, 306, 380, 462, 552, 650, 756, 870, 992, 1122, 1260, 1406, 1560, 1722, 1892, 2070, 2256, 2450, 2652, 2862, 3080, 3306, 3540, 3782, 4032, 4290, 4556, 4830, 5112, 5402, 5700, 6006, 6320, 6642, 6972, 7310, 7656, 8010, 8372, 8742, 9120, 9506, 9900]
d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }
def generate_tr(name, score):
if score<60:
return '<tr><td>%s</td><td style="color:red">%s</td></tr>' % (name, score)
return '<tr><td>%s</td><td>%s</td></tr>' % (name, score)
tds = [generate_tr(name,score) for name, score in d.iteritems()]
print '<table border="1">'
print '<tr><th>Name</th><th>Score</th><tr>'
print '\n'.join(tds)
print '</table>'
def toUppers(L):
return [x.upper() for x in L if isinstance(x,str)]
#判断是不是字符串
print toUppers(['Hello', 'world', 101])
多级别嵌套
print [m+n for m in 'ABC' for n in '123']
print [100*a+10*b+c for a in range(1,10) for b in range(10) for c in range(10) if c==a]