python初学(慕课网廖雪峰课程总结)

一、安装和使用

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 = ['%s%s'%(name, score)
 for name, score in d.iteritems()]
print ''print''print'\n'.join(tds)
print'
NameScore
'
  • 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']

你可能感兴趣的:(python)