python基础语法-学习笔记

 1 def stu1(name = "No name", adr = "NO adr"):
 2     print("name:{} adr:{}".format(name,adr))
 3 
 4 stu1(adr="adr")
 5 stu1('adr')
 6 
 7 def stu2(*args):
 8     '''
 9     收集参数
10     '''
11     for a in args:
12         print(a , end=" ")
13     print("")
14 
15 stu2("lemon","百草路","大二")
16 
17 def stu3(**kvargs):
18     '''
19     关键字收集参数
20     '''
21     for k,v in kvargs.items():
22         print(k,"---",v,end = "  ")
23 
24 stu3(name="lemon",adr="百草路")
25 print()
26 
27 def stu4(name ,*args , adr='NO adr' ,**kwargs):
28     print(name,adr ,end=' ')
29     for a in args:
30         print(a,end=' ')
31     for k,v in kwargs.items():
32         print(k,'---',v,end=' ')
33 
34 stu4('lemon','百叶计划',adr = 'adr', pc ='联想')
def
  • 使用关键字参数调用函数时,参数顺序可以不一致
  • 可以设置形参默认值,当没有传入参数时,使用这个默认值.
  • *args收集参数,可以收集多余的参数
  • **args关键字收集参数,可以收集多余的关键字参数
  • 如果使用可变混合参数,请按 (参数 *args 关键字参数 **kwargs)的顺序使用,更多:https://www.cnblogs.com/harden13/p/8782782.htm
 1 def up():
 2     '''
 3     利用global将局部变量提升为全局变量
 4     '''
 5     a = 101
 6     global a
 7     a = 100
 8 
 9 up()
10 print(a)
global
  • global可以将局部变量提升到全局范围
  • 全局声明前不可分配变量
 1 a = [a for a in range(1,10)]
 2 for num in a:
 3     if(num == 5):
 4       break
 5     print(num)
 6 else:
 7     print("break")
 8 
 9 
10 print("  ")
11 
12 for num in a:
13     if(num == 5):
14         continue
15     print(num)
16 else:
17     print("continue")
for-else
  • for正常结束时(不受break影响),会执行else中的代码块
 1 list = [1,'lemon',3,1]
 2 print(list)
 3 
 4 print('append():在末尾添加元素')
 5 list.append(4)
 6 print(list)
 7 
 8 print('\ninsert(1,"百草路"):在第1处插入"百草路"')
 9 list.insert(1,"百草路")
10 print(list)
11 
12 print('切片list[1:5:2]:',list[1:5:2])
13 print('切片list[2:10:]',list[2:10:])
14 print('切片list[1:2]',list[1:2])
15 
16 
17 print('\npop():删除最后一个元素')
18 list.pop()
19 print(list)
20 
21 print('\ndel list[3]:删除第4个元素')
22 del list[3]
23 print(list)
24 
25 print('\nremove("l"):移除匹配到的第一个1')
26 list.remove(1)
27 print(list)
28 
29 print('\nlen(list):返回列表长度')
30 print(len(list))
31 
32 print('\nreverse():反向列表元素')
33 list.reverse()
34 print(list)
35 
36 print('\nextend(序列):在列表后面追加序列元素')
37 list.extend(i for i in range(1,10))
38 print(list)
39 
40 print('\nsort():排序')
41 list.remove('百草路')
42 list.remove('lemon')
43 list.sort()
44 print(list)
list
  • list有索引可以进行切片操作
  • list可以收集不同类型的元素
  • list可被修改
 1 # dictionary元组
 2 a = {'name' : 'lemon' , 'adr' : '百草路' ,}
 3 print(a)
 4 # Python3遍历
 5 for k in a.keys():
 6     print(k,'----',a[k],end='')
 7 print()
 8 
 9 for v in a.values():
10     print(k,end='')
11 print()
12 
13 for k,v in a.items():
14     print(k , '----' , v)
15 
16 # 不允许key出现两次,出现多次最后一个key会被记住
17 b = {'name' : 'lemon' , 'name' : 'lemon-Xu'}
18 print(b)
19 
20 # key的值必须是可哈希的,列表就不行
21 try:
22     c = {[1,] : '123'}
23 except :
24     print('list不可哈希')
25 
26 
27 c = {'name' : 'lemon' , 'adr' : '百草路'}
28 # 修改dictionary的值
29 c['name'] = 'lemon-Xu'
30 # 修改,如果没有key就添加一个
31 c['class']  = '6'
32 print(c)
33 
34 # 删除
35 del c['name']
36 print(c)
dictionary
  • dictionary,没有索引不可进行切片操作
  • 多个kv队最后一个kv会被保存

猜你喜欢

转载自www.cnblogs.com/xiaoxu-xmy/p/9746377.html