python笔记

***********零散知识点***********
1.type(xxx) 显示xxx的类型 判断类型可以使用 type(a) == type(1)
2.几种占位符
2.1 %s/d... 以百分号表示的占位符, eg: print('a is %d b is %s'%(1,'ddd'))
2.2 {}+format的占位符, eg: print('a is {} b is {}'.format('333',2)) 当然{0},{1} 这种也成立eg: print('a is {0}, b is {1}, c is {1}'.format(1,2))
**********数组***********
a = [1,2,3,4]
1.删除元素
2.1 del表示删除脚标 del a[0]表示删掉第一个元素1;
2.2 remove表示删除值 a.remove(1) 表示删掉值为1的
2.3 pop表示最后一个并且返回删掉的值, 可以指定下标. 如果时字典直接使用Key名即可
2.统计值出现次数a.count(1) 表示a中1出现的次数
3.数组合并extend与加号相同 eg:b=[10,11,12] a.extend(b) 此时a = [1,2,3,4,10,11,12]
4.index(值) 返回第一个出现值的脚标
5.reverse() 倒叙, sort()排序默认从小到大

***********元组***********
t = [1,2,3]
1.创建, 有2中方式
1.1 直接用逗号分隔 如a = 1,2,3
1.2 用括号 如a = (1,2,3) 空用(); 注意元组后面必须有逗号如(1)不时元组, (1,)是元组
2.访问, 和数组一样eg: t[2]返回3
3.切片, 和数组一样
4.元组和字符串一样不允许修改,只能整体赋值
5.内置方法,len(t); max(t); min(t)

***********字典***********
a = {'username': 'jim', 'password': '000111'}
1.del删除属性 del a['username']
2.pop删除属性a.pop('username') 比del好,它删除还会返回被删的值
3. b = a 这是指针赋值,所以b和a都指向同一堆;
4. b = a.copy() 这个是值赋值, 所以b和a指向不同堆; 可以通过id(xxx)查看
5.获取数据两种方式a['username']和a.get('username')
6.a.items() 拿出a里的所有数据,形成一个dict_times类似元组的数组 a.items()得到的结果为 [('username', 'jim'), ('password', '000111')]
7.for循环取值 for (key,value) in a.itmes() 可以拿到键值

***********集合***********
java的集合是list,map,set, 但是python中的集合只有set格式为parame = {value01,value02,...}
1.操作符:
1.1 a-b :a中有b中无
1.2 a&b :取交集
1.3 a^b :除去交集
1.4 a|b :求并集

***********函数***********
1.range(start,stop,step) range(10) 等价于 range(0,10,1) 包首不包尾
2.关键字参数.这个很吊,传参时可以指定形参名. 使用参数名给指定的形参赋值. 比如def fn(a,b) 可以fn(b=1,a=2) 来传值
3.*参数c 表示多个位置参数 =>参数c是个元组
4.**参数c 表示多个关键字参数 =>参数c是个字典
5.变量的作用域:
5.1 全局变量默认不可修改,也不会被函数内定义的同名变量覆盖.
5.2 如果要修改全局变量,必须在函数类使用global (用的很少,不管)

 

hellow.py

# -*- coding: utf-8 -*-
a = {'username': 'jim', 'password': '000111'}
for (k,v) in a.items():
    print('k=%s,v=%s'%(k,v)) 

b = [1,2,3,4,5]
for i in b:
    print(i)

c = ('a', 'b', 'c')
for i in c:
    print(i)

d = {1,2,3,4,5}
for i in d:
    print(i)

print('----------')
e = range(10)
for i in e:
    print(i)

print('----------')
def ptable(num):
    for i in range(1, num+1):
        for j in range(1,i+1):
            print('{} * {} = {}'.format(j,i, j*i), end='   ' if j*i<10 else '  ')
        print()

ptable(9)
print('----------')

def ea(a,b,c,d):
    print('a={},b={},c={},d={}'.format(a,b,c,d))
ea(a=1,c=3,b=2,d=4) #位置参数
ptable(9)
print('----------')

#多个位置参数 c表示元组
def pc(a,b,*c):
    print('a={},b={},c={}'.format(a,b,c))
    z =  0
    for i in c:
        z+=i
    print(a + b + z)

pc(1,2,3,4,5,6,7,8)

#多个关键字参数 c表示字典
def pcdict(a,b,**c):
    print('a={},b={},c={}'.format(a,b,c))
pcdict(b=2,a=1, m=3,n=4,z=5)

#函数的作用域
xx = 'abc'
def changxx():
    xx = 'efg'
    print(xx)
changxx()
print(xx)
    #但是如果加上global就不同了
print('----------')
def changexx2():
    global xx
    xx = 'efg'
    print(xx)
changexx2()
print(xx)

print('----------')
#递归
def dd(n):
    if n<=0:
        raise Error('parame need gt 0')
    if n ==1:
        return 1
    else:
        return n + dd(n-1) 

print(dd(10))

 

posted @ 2020-08-28 00:56  trump2  阅读(156)  评论(0)    收藏  举报