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)
 结果为:510.模拟轮盘游戏
 import randomrewardDict={    '一等奖':(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]