今年下半年的计划主要是Python和Mysql了,公司不方便看书和视频,就照着廖雪峰的Python网站开始看了。以下纯为个人笔记记录,若是想系统学习的小伙伴还是看这里的好一些,毕竟系统。https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000
# -*- coding: utf-8 -*- #调用函数 a=str(hex(255)) print(a) #空函数 def nop(): pass #绝对值函数 def my_abs(x): if x >=0: return x else: return -x print(my_abs(int(input("请输入数字:")))) #位置参数 def Idempotent(x,y): s=1 while y>=0: s = s * x y = y - 1 return s print(Idempotent(5,2)) #默认参数 #1、必选参数在前,默认参数在后。 #2、使用默认参数最大的好处是能降低调用函数的难度。 #3、默认参数必须指向不变的对象。 def power(x,n=2): s=1 while n>0: s=s*x n=n-1 return s print(power(5)) #可变参数 def cale(*numbers): #&numbers 表示把numbers这个list的所有元素作为可变参数穿进去。 sum = 0 for i in numbers: sum = sum + i*i return sum print(cale(1,2,3)) #关键字参数 def person(name,age,**kw): print('name:',name,'age:',age,'other:',kw) person('zichuan',24,city='shanghai') ls ={'sex':'girl','city':'yongzhou','interest':'eat'} person('qinglian',18,**ls) #**ls表示把ls这个dict的所有k-v用关键字参数传入到函数的**kw参数,kw将获得一个dict,注意kw获得的dict是ls的一份拷贝,对kw的改动不会影响到函数外的ls #命名关键字参数(只接收city和job作为关键字参数) #和关键字参数**kw不同,命令关键字参数需要一个特殊分隔符*,*后面的参数被视为命名关键字参数。 def person_1(name,age,*,city,job): print(name,age,city,job) person_1('zichuan',25,city='魔都',job='Testing')#命令关键字参数必须传入参数名。 #递归函数(example:阶乘) #1、优点是定义简单,逻辑清晰。 #2、使用时需要注意调用次数过多的话,会导致栈溢出,可使用尾递归的方式优化解决。 def fact(n): if n==1: return 1 return n*fact(n-1) print(fact(4))