在python中构建函数

1.可变数据类型or不可变数据类型
    可变数据类型:list,set,dict(可以增删改查)
2.有序数据类型和无序数据类型
    有序:str,list,tuple
    无序:数值,set,bool
    python2:dict无序 python3:dict有序
 ***一般情况下,有序数据类型可以索引,切片,连接,重复,但是字典除外。
3.可以for循环的数据结构
    字典,列表,元组,集合
     pow(3,5)=3的5次方
4.定义函数


     定义函数,并不会执行函数体里面的内容
     def hello():
        print("hello")
     调用函数的过程
     hello()

     返回值为:hello


 函数里的嵌套函数 

 def fentiao():
       print("a")
       def westos():
         print(‘westos')
       westos()
    fentiao()

 结果为:"a"   "westos"

#name:定义函数时的变量,叫做形参,形参可以任意起名


def welcome(name1): name1=‘fentiao’
    print(“hello”,+name1)     结果为:hello fentiao
‘fentiao’,‘fensi’,真实的数据信息,调用函数时传的参数为实参;
name2=‘fentiao’
welcome(name2)                    结果为:hello  fentiao
welcome(“fensi”)                                   hello  fensi

 

5.默认参数
 def mypow(x,y=2):
      print(x**y)
 mypow(4)
 输出为4的2次方
 mypow(4,3)
 输出为4的3次方

6.可变参数
 def mysum(*aa):
  需求:用户可以传递任意个数值,计算数值的和
   sum=0
   for  i   in  aa:
     sum+=i
   print(sum)
 mysum(1,2,3,4,5)
输出为15                                                     一个星代表可变参数
7.关键字参数
def get(name,age,**aa):
   print(name,age)
   print(aa)
get("westos",19,a=1,b=2)
输出为'westos' , 19, {'a':1,'b':2}                 两个星代表关键字参数
**aa是一个字典,可以传递任意多的key-value对

7.解包
  对列表,元组,集合解包时,只需在变量前前加*
   b=[1,2,3,4]    c={1,2,3,4,5}     e=(1,2,3,4,6)

   print(*b,*c,*d)         结果为:1,2,3,4        1,2,3,4,5            1,2,3,4,6


   如果要对字典解包,一个星号,获取所有的key值;
     d=dict(a=1,b=2)
     print(*d)                            结果为:a    b  

8.返回值
 return用来返回函数执行结果的,如果没有返回,默认为None
 默认参数,形参和实参可以不一致
 一旦遇到return,函数执行结束,后面的代码不会执行。
例:
def mypow(x,y=2):
    return x**y,x+y
a,b=mypow(2,3)
print(a,b)                                结果为:8     5  

9.全局变量
a=2
def fun():
  a=6
fun()                                                               a=6 仅在函数内有效     为局部变量     
print(a)
结果仍为2           
 
a=[1,2,3,4]
def fun():                                                        如果赋值不冲突,那么就会添加
  a.append(5)
fun()
print(a)
结果为:[1,2,3,4,5]
局部变量:在函数内部定义的普通变量,只在函数内部其作用,函数执行结束,变量自动删除。

global内置函数
a=1
def fun():
  global a     声明a为全居变量
  a=5
fun()
print(a)
结果为:5

10.模拟轮盘游戏
import random

rewardDict={    '一等奖':(0,0.08),'二等奖‘:(0.08,0.3),  '三等奖’:(0.3,1)   }
def rewardfun():
   number=random.random()    生成一个0到1之间的随机数
   for k,v in rewardDict.items():           判断随即转盘的数时几等奖
       if v[0] <= number < v[1]:
            return k
print(rewardfun())                               此时随着随机数的生成, 会出现一等奖,二等奖,三等奖
resultDict={}
for i in range(1000):     1000个人循环一千次
   res=rewardfun()        本次转盘的等级
   if res  in resultDict:
       resultDict[res]+=1
   else:
       resultDict[res]=1
for k,v in resultDict.items():
   print(k,v)                                      结果为:一等奖  67    二等奖  222   三等奖  711
 
列表生成式
 print([i**i for i in range(1,5)])                     先执行循环   在执行i的平方
结果为:[1,4,27,256,3125]
或者
  li=[]
  for i in range(1,10):
   li.append(i**i)
  print(li)

isinstance(1,int)   判断1是否为int型                      结果为:Ture

 li=[[1,2,3],
     [4,5,6],
]
  print([j for i in li for j in i])                                    第一步循环i为[ 1,2,3]    [4,5,6]    再次循环得最终结果
  结果为:[1,2,3,4,5,6]

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值