python入门

决定用这篇帖子来作为Python基础用法的更新帖,遇到简单但是实用的Python相应特性就通过该篇帖子来更新

 

   变量特点 a b的id是一样的  (其他种类的变量比如列表、字典都没有这种特性,都类似于c++里面的地址)
   a=1
   b=1
   print id(a)
   print id(b)
   print "sssss",5
   预算符  ** 平方
   
   a=int(raw_input("input number"));
   
   type(num)
   num=111默认存储为int
   num=11111L 强制转换为long
   num=3.14j 虚部complex
   str1='sssss'或者"sssss"
   
   字符串:切片a[开始位置:结束位置:步长]
   元组() 内容不可变  如果只有一个元素需要a=(2,)否则按照变量处理   可以通过下标获得元素,但是某个元素不能修改内容
   列表[] 切片可以修改 只有一个元素不用像元组一样(2,)
          函数操作:list1.append(***) 添加元素
                   list1.remove(***)  或  del(list1[2])删除元素
   字典 无序的和C++中STL中的map应该是一样的 是哈希类型的
        dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
        key + value 的形式!!!
        操作:del dict['Name']; # 删除键是'Name'的条目
             dict.clear();     # 清空词典所有条目
             dict.get(5,"error") #获取5对应的值,如果没有返回“error”       
             dict.keys()      #返回字典的key
             dict.value      #返回字典的value
             dict.item       #内容
             del dict ;        # 删除词典
             del dict['***']   # 删除某个键值对
             del.pop('***')    #弹出某个键值对
             dict[**]=         #插入
             遍历 for k in dict
                     print k         #输出key  当然也可以输出对应的value
                 for k,v in dict.item():
                     ***
    类和对象
    
    for x in range(开始,终止值(不包含),步长值)或者其他sequence    太占内存 可以用xrange
    
    for ****
    else   #正常结束执行,否则不执行 比如针对break
    
    while  ***
    else        #和上面for一样
    
    if ***
       pass 占位      对比于break和continue exit()
       
    #coding utf8
    
    print "%s %s" % x , y
    
    参数传值
        fun(name="name",age=0)
    调用             fun("zsw",22) 
        或者         fun(name='zsw',age=22) 
        或者调整顺序 fun(age=22,name="zsw") 
        或者元组     t=('zsw',22) fun(*t)
        或者字典     dict1={'age':22,'name':'zsw'}  fun(**dict1)  key需要和形参一样否则报错
    
    解决多余参数传值 
        fun(x,*args)    这里的args是元组 用来存放剩余的参数
        fun(1,2,3,4,5)
        
        或者
        def fun(x,*args,**dict1):   
               print x
               print args
               print dict1
        fun(1,2,3,4,5) 
        print "*"*10
        fun(x=1,y=2,c=3)
        fun(1,2,3,4,5,y=10,s="asdf")
    
    
    lambda表达式 快速定义单行函数
    样例1:
        g = lambda x,y,x:z  冒号前是参数,后面师返回值
        调用 g(1,2,3)
    
    样例2:
        def f(x,y):
            return x*y
        print reduce(f,[1,2,3,4,5])  #reduce 每次默认取两个值 实现阶乘
        print reduce(lambda x,y:x*y,[1,2,3,4,5])
    
    
    switch语句实现:用字典
        from __future__ import division
        def add(x,y):
            return x+y
        def sub(x,y):
            return x-y
        def multi(x,y):
            return x*y
        def devid(x,y):
            return x/y
        
        operator = {"+":add,"-":sub,"*":multi,"/":devid}
        
        print operator["/"](2,3)
        print operator.get("/")(2,3)
        print devid(2,3)


    常用 内置函数
        print "$$$$$$$$"*5
        print callable(min)  #查看是否可以调用
        print type(operator)
        print isinstance(operator,dict)
        print cmp("aaa","bbb")
        print range(10)
        print xrange(10)
        
        string 常用函数:
        filter()  过滤函数
        zip()     将多个列表整合成元组,返回组合后的列表 每一个元素是元组
        map()     和zip相似有点区别
        reduce()  
            样例:
            def f(x,y):
                return x*y
            print reduce(f,[1,2,3,4,5])  #reduce 每次默认取两个值 实现阶乘
    
    模块:
       代码封装,当一个.py文件导入其他文件时,就叫做模块
       模块是一个可以导入的Python脚本文件
       包是一堆按目录组织的模块和子包,目录下的__init__.py文件存放了包的信息
       可以用import,import as ,form import等语句导入模块和包

pyhton断言

 

如何为assert断言语句添加异常参数
assert的异常参数,其实就是在断言表达式后添加字符串信息,用来解释断言并更好的知道是哪里出了问题。格式如下:
assert expression [, arguments]
assert 表达式 [, 参数]

assert len(lists) >=5,'列表元素个数小于5'
assert 2==1,'2不等于1'

 

 

 

 

 

你可能感兴趣的:(Python)