一、安装和使用
1、使用的2.7
2、环境变量+python的根目录
3、cmd就可以运行,执行使用 python xxx.py
4、编写代码可以直接python进入代码编辑
5、exit()退出编辑环境
二、代码
1、#注释
2、print
- a = ‘xxx’ print a
- print r’xxx/nxxx’ 不会转义
- print ”’xxxxxxxx”’ 多行,不加r会转义
- print u’中文’ 但是本地似乎没有这个问题
- 浮点 print 10/4 打印为2; 10%3 打印为1; 10.0/4 打印为2.5
3、运算符 True or False True and False 是短路的
4、list集合a = [‘yes’, True, 100] 集合使用中括号,元素越多速度越慢
a.append() #加末尾
a.insert(0, 'no') #加指定位置
print a[0] #访问第一个
print a[-2] #访问倒数第二个
a.pop() #删除最后一个,并且返回这个元素
a.pop(1) #删除索引为1的元素
a[1] = 'new' #赋值
5、元组 tuple 不可变list,使用小括号,注意单参数需要加一个逗号
t = (1,2,3) #不可变,没有append、insert、pop方法,也不能赋值
t = (1,) #单个参数需要加一个逗号
6、if
age = 20
if age > 18:
print 'xxxx'
print age
else:
print 'xxxx'
#非
if not age > 18:
#嵌套
if xxx:
123
elif xxx:
123
elif xxx:
123
123
else:
123
7、for/while循环
- for
a = [1,2,3]
for name in a:
print name
- while
N = 10
x = 0
while x < N:
print x
x = x + 1
- 退出循环(继续循环continue也一样)
N = 100
x = 0
sum = 0
while x < N :
print x
x = x + 1
sum = sum + x
if x == 50 :
break
print sum
print x
- 双重循环
for x in ['a', 'b', 'c']:
for y in ['1', '2', '3']:
print x + y
8、dict 相当于java的map,定义是用大括号
- 优势:速度很快,多少个元素都一样的速度
- 过没有顺序,存进去的顺序和打印的顺序不一定一样
- key不可变,并且存入的key是不可变的,所以list不能做key
d = {"one" : 1, "two" : 2}
print len(d)
- 访问使用 d[key] 或者 d.get(key)
#1、不存在会报错
d = {"one" : 1, "two" : 2}
if 'one' in d :
print d['one']
else :
print 'defalut'
#2、
print d.get('three') #展示none
print d.get('one') #正常展示
- 更新dict
d["one"] = 4
- 遍历dict
for name in d:
print name
9、set
- 和java的set一样,同list不重复,只能存入不可变的对象,所以不能存list
l = [1,2,3,3,3,3]
print l
s = set(l)
print s
s1 = set([1,2,3,4,5,6,6])
print s1
- 访问set,其实就是判断它是否在set里,因为没有顺序并且不重复
print 1 in s #打印True 大小写区分
- set遍历
s = set([1,2,3,4,5])
for name in s:
print name
- 添加元素使用add,删除使用remove。 add重复不报错,remove会报错,需要先判断
s = set([1,2,3])
s.add(7)
for name in s:
print name
三、函数
使用help(函数)来查看详情
1、绝对值: abs(number)
2、比较:cmp(x, y) x
3、转整数:int(xxx)
4、转字符串:str(xxx)
5、总和:sum(list) list必须都是数值
l = [1,2,3,4,5]
print sum(l)
6、编写函数
def myMethod(x):
if x > 0:
return x
else:
return;
print myMethod(1)
print myMethod(-2)
7、返回多值,其实是返回一个tuple
def myMethod(x,y):
return x + y, x - y
x, y = myMethod(1, 2)
print x
print y
print myMethod(1, 2)
t = myMethod(1, 2)
print t[0]
8、递归,知道但是什么时候用把握不好
def fact(n):
if n == 1:
return 1;
else :
return n * fact(n-1)
print fact(1)
print fact(10)
9、定义默认参数
def fn(i, n = 2):
...... # n如果不传则默认是2,顺序必须是先必须参数再默认参数
10、定义可变参数
def fn(*suibian):
......
11、平均数函数例子
def average(*i):
x = 0
for num in i:
x = x + num
print x / len(i)
average(1,2,3)
12、对list进行切片,取前三个参数。0~3不包括3,0可以省略。也一样可以使用倒数
l = [1,2,3,4,5,6]
print l[0:3]
print l[:3]
print l[:] #从头到尾复制一个新的list
print l[::2] #每隔2个取一个值
print l[-3:] #从倒数第三个开始取
13、字符串切片,同上
14、’abc’.upper() 变大写
首字母大写案例:
def up(s):
print s[0:1].upper() + s[1:]
up('abckdf')
15、迭代 就是for循环,python可以迭代一切可以迭代的东西
数7的案例:
def seven(num):
s = 0
while s < num :
if s % 7 == 0 :
print s
s = s + 1
def shou(str):
for letter in str:
print letter
seven(100)
shou('asdgdfgdfg')
16、拿到元素索引 enumerate()
for index, name in enumerate(["one", "two"]):
print str(index) + name
17、迭代dict的value
d = {"one" : 1, "two" : 2}
print d.values()
for v in d.values(): #还要生成一个list,不过好记忆
print v
for v in d.itervalues(): #省下生成list的过程,速度快
print v
key和value都迭代遍历
d = {"one" : 1, "two" : 2}
for k, v in d.items():
print k,' : ',v
18、生成列表,python主要处理数据,所以列表会经常生成
乘法口诀表案例:
L = []
for x in range(1, 11):
L.append(x * x)
print L
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] #只想要偶数的平方
range(1, 10, 2) 输出 [1,3,5,7,9]
19、生成一个table的html
d = {"Adam": 95, 'Lisa' : 85, 'Bart' : 59}
tds = ['<tr><td>%s</td><td>%s</td></tr>'%(name, score)
for name, score in d.iteritems()]
print '<table>'
print '<tr><th>Name</th><th>Score</th></tr>'
print '\n'.join(tds)
print '</table>'
- join 把一个list拼接成一个字符串。eg:
l = ['1','2','3']
s = 't'
print s.join(l)
#打印: 1t2t3t
20、多层表达式
print [m + n for m in 'ABC' for n in '123']
#打印:['A1', 'A2', 'A3', 'B1', 'B2', 'B3', 'C1', 'C2', 'C3']