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))

浙公网安备 33010602011771号