zoukankan      html  css  js  c++  java
  • python涂鸦

    【exit】

    退出程序   

    【%】

    占位符:%s 【string】  %f【float】  %d【int】    isdigit:长得像数字

    【print不换行】

    python 2.X 版本使用逗号分割可以使print不换行    【print "hello",】

    python 3.X版本利用end方法可以使print不换行   【print ("hello ",end="")】

     

    【】
    for x in y (遍历所有的y元素)


    【dict字典】

    访问dict列表                 d = {
                                                'Adam': 95,
                                                'Lisa': 85,
                                                'Bart': 59
                                                 }
                                                for a in d:
                                                print (a,d.get(a))

    get(key值) 更新 d['Paul'] = 72

    【增】

    dict【元素】=***     元素有就修改,没有就添加

    dict.setdefault('','')     键存在就不改动,返回相应的值,键不存在,增加新的键值对,并返回相应的值

    【删】

    del dict(元素) 删除键值对    pop(元素) 删除返回值       popitem()   随机删除一个键值对      clear() 清空    del dict  删除字典

    【查】

    dict.key() 键       .value() 值    .Iteme()键值对        in()   查询是否存在值

    【改】

    dict.update(dict1)   有就更新,没有添加

     


    【set列表】

    set列表是无序排列的(可以包含前边所有的列表的格式)

    set.remove(删除)
    set.add(添加)


    【len(计算属性的长度)】

     

    【list切片】

    print L[4:50:5]#从索引4开始,每个5位取一个,取到索引50结束,50索引不包含

     

    【索引迭代】

    enumerate(集合) dict迭代value【itervalue()or value()】

    dict迭代key,value【item()or iteritems()】

     

    【range()随机数】

    range(1,100,2) {1,3,5,7,。。。}

     

    【编写函数:def】


    【列表生成式for 可以添加筛选条件,可以添加多层嵌套循环】

    return [x.upper() for x in L if isinstance(x,str)]

    isinstance()判断是否是字符串 upper()字母大写

     

    【对list进行增删改】

     

    append(默认添加到末尾)        insert(index,“”) 添加到那个索引       list.extend(list1)      将两个列表合成一个

    remove(“”)  直接删除那个元素      b= pop(1,“””) 删除那个索引值的元素,可以将这个元素取出        del  什么都能删除,包括这个对象     .clear  清空

     

    【对list进行查询】

    list.count(元素)      查找列表中同一元素的个数

    list.index(元素)   查找列表的的元素索引值

    【sort】

    没有返回值

    数字按照从小到大排序,字符按照Ascll排序

    【reverse】

    list 反序摆列

     

    【enumerate】

    一个可以添加索引值的方法      enumerate(list,1)  

     

    【字符串拼接】

    ‘’.join(【a,b,c】)

    center(50,'') 

     

    【endswith() / startswith】   以什么开头/结尾       【find】 查找元素返回索引值     【isdigit】判断是否是数字  【islower/ isupper】  判断是否全大写/ 小写

    【strip】 删除左右的空格,换行符      【replace】 替换            【split】  分割符      【expandtabs】 制作表格

    【format】 格式化输出 

     

    【文件】

    【open() 】  打开文件        【read()】   读取文件    【 write()】 写入文件      【 tell() 】 获取光标的位置      【seek()】 移动光标       

    【flush】   刷新缓存区,立即写入磁盘          【truncate()】  数据截断   “w” 没有太大意义  “a”   可按要求截断

     

    【*******函数*******】

    【默认参数】    默认函数一般放在参数的最后

    def  f(name,age=12)

    f("Tom")

     

    【不定参数(没有命名)】                                         【不定参数(有命令)】

    def   f(*args)                                                           def f (**args)

    f(1,2,3,4)                       f(name=“Tom”,age=12)

    运行后会生成一个元组              运行后会生成一个字典

    补充参数:

    def a(*args):
        print args
    a(*[1,2,3,4])  #####单个添加到元组####
    
    def b(**kwargs):
        print kwargs
    b(**{"name":"aa"}) ######键值对方式添加到字典####

     

    【return】

    1 结束某个函数   2返回一个对象    3返回多个对象默认放在一个元组中

    【作用域】

    built_in(系统)                   global(全局)               enclosing(嵌套)                lical(本地)

    count = 10
    def out():
        global count    ##申明全局变量
        print count
        count = 5   ##局部不能修改全局的变量
    out()

    【高阶函数】

    def f(n):
        return n*n
    def foo(a,b,fn):
        return fn(a)+fn(b)  ####fn()就是运行这个f()函数######
    print foo(1,2,f)  ######f就是一个函数的内存地址######
    
    def f():
        return 8
    def fun():
        return f
    ter=fun()     #####只是得到f函数的内存地址######
    print ter
    print ter()   ####只要加上括号就代表运行这个函数,所以就是运行f()这个函数

     【递归函数】

    调用自己的函数方法  + 结束条件

    阶乘:

    def f(n):
        if n==1:
            return 1
        return n*f(n-1)   #####调用自己,结束条件
    print f(7)
    
    print reduce(lambda a,b:a*b ,range(1,8))
    
    
    运行结果:
    5040

    斐波那契数列:(没大搞懂)

    0,1,1,2,3,5,8,13.。。。。。。

    def f(n):
        if n<=2:
            return n
        return f(n-1)+f(n-2)
    
    print f(5)
    
    
    运行结果:
    8

     【内置函数】

    几个重要的内置函数 :

    filter(可以用于筛选【迭代器】)            map(可以用于给原来的元素添加)      reduce(返回的是一个具体的值)    lambda(匿名函数)

    #filter
    str = ["a","b","c","d","e"]
    def func(s):
        #print s
        if s !="a":
            return s
    let = filter(func,str)
    print list(let)
    
    #map
    str = [ 'a', 'b']
    def fun2(s):
        return s + "alvin"
    ret = map(fun2, str)
    print(ret)  # map object的迭代器
    print(list(ret))  # ['aalvin', 'balvin', 'calvin', 'dalvin']
    
    #reduce
    from functools import reduce
    def add1(x, y):
        return x + y
    print (reduce(add1, range(1, 101)))  ## 5050 (注:1+2+...+100)
    print (reduce(add1, range(1, 101), 20))  ## 5070 (注:1+2+...+100+20)
    
    #lambda
    #普通函数
    def add(a, b):
        return a + b
    print add(2, 3)
    # 匿名函数
    add = lambda a, b: a + b
    print add(2, 3)
    
    
    
    运行结果:
    ['b', 'c', 'd', 'e']
    ['aalvin', 'balvin']
    ['aalvin', 'balvin']
    5050
    5070
    5
    5

    【装饰器函数】

    闭包定义:1 有内部函数   2 引用外部函数的值     3 return函数名

    示:1:

    import time
    def show_time(f):
        def out(*x,**y):
            start = time.time()
            f(*x,**y)
            end = time.time()
            print "spend time:%s"%(end-start)
        return out
    @show_time    # f=show_time(f)
    def f(*a,**b):
        sums=0
        for i in a:
            sums+=i
        print sums
        time.sleep(1)
    f(1,2,7,4)
        #遵守开放,封闭的原则,在不修改原来的代码的基础上添加要求,调用的时候重新赋值相当于调用原来的函数,  不会影响其他对该函数的调用
    
    
    运行结果:
    14
    spend time:1.0

    示例2:

    import time
    def log(flag):
        def show_time(f):            #2.show_time(f,flag)
            def out(*x,**y):
                start = time.time()
                f(*x,**y)
                end = time.time()
                run = end-start
                print "spend time:%s"%(run)
                if flag=="True":
                    with open("text","a") as ji:
                        ji.write("
    spend time:%s"%(run))
            return out
        return show_time
    @log("True")    # 1.@封装的只能传一个参数,只要满足闭包的定义就能运行,返回值show_time,就相当于@show_time,
    def f(*a,**b):    #2,不用@多加一个参数也可以
        sums=0
        for i in a:
            sums+=i
        print sums
        time.sleep(1)
    f(1,2,7,4)
    
    
    
    运行结果:
    14
    spend time:1.0
    
    文本内容请自行查看

    【模块】

    【time(时间)】

    time.time()当前时间戳     time.strftime()   可以自定义格式  【time.time(%Y-%m-%d %X,time.localtime)】     time.localtime()本地时间

    time.ctime()   当地固定时间 (Tm_Year=2018的格式)    time.mktime()   转化为时间戳

    【datetime】

    datetime.datetime.now()

    【random】

    random()0-1随机数    randint()整数随机数包含最后一个    choice()随机选择    shuffle() 

    randrange()不包含最后一个

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    ES6(四)字符串的扩展
    ES6(三)数组的扩展
    ES6(二) Destructuring-变量的解构赋值
    ES6(一) let and const
    canvas(七) 文字编写
    canvas(五)createPattern
    canvas(四) Gradient- demo
    canvas(三) star- demo
    jQuery之简单动画效果
    web开发小白之路
  • 原文地址:https://www.cnblogs.com/guo970910/p/9820410.html
Copyright © 2011-2022 走看看