• Python 基础学习的几个小例子


      最近在研究动态脚本语言 Python , 出于对其语言精简度的喜欢及大学时期对 matlab 这样的数学领域语言的怀念, 再加上笔者是C++起家,Python中所涉及的del机制与特殊方法重载(类比于c++中的运算符重载)等

    , 让笔者不自觉地玩起了 Python 。关于Python 发展历程与基本语法这里不再多说,主要记录一下学习过程中敲的一些样例代码。

      首先介绍一下最基本的多行、带中文字符和特殊字符的字符串打印:

    # -*- coding: utf-8 -*-
    #注意在首行加上上面这行注释,否则解释器会报错
    
    print r'''中文测试/('')
    来个高难度的‘’/*
    哈哈!()""
    '''

      关于带默认参数、可变参数的自定义函数及偏函数:

    import functools
    
    print '------------ 自定义默认参数函数 -----------------'
    
    def power(x,n = 2):
        s = 1
        while n > 0:
            s = s * x
            n = n - 1
        return s
    
    print power(3)
    print power(3, 3)
    
    print '------------ 算定义可变参数 -----------------'
    
    def fn(*args):
        print args
    
    print fn(36,'39',47)    
    
    print '------- 函数默认参数 -----'
    def myInt2(x,n = 2):
        return int(x,n)
    print myInt2('1101')
    
    print '------------ partial -----------------'
    int2 = functools.partial(int,base = 2)
    print int2('1001')

      生成列表打印及其在条件过滤和嵌套循环中的应用:

    print '------------直接打印------------'
    print range(0,13)
    
    print '------------生成列表---------------'
    print [x * x for x in range(1,8)]
    
    print '-------------- 生成列表的高级用法 ------------------'
    d = { 'Adam': 90, 'Lisa': 80, 'Bart': 68}
    tdList = ['<tr><td>%s</td><td>%s</td></tr>' % (name,score) for name,score
              in d.iteritems()]
    print '<table>'
    print '<tr><th>Name</th><th>Score</th></tr>'
    print '
    '.join(tdList)
    print '</table>'
    print tdList
    
    print '------------------ 列表条件过滤 ------------------'
    print [x * x for x in range(1,11) if x % 2 != 0]
    
    
    print '------------- 两种方式 实现多层嵌套打印 ----------------'
    print '------------ 1.传统方式 -----------'
    L = []
    for m in 'ABC':
        for n in '123':
            L.append(m + n)
    print L
    
    print '------------- 2.生成列表 ---------'
    print [m + n for m in 'abc' for n in '123']

      关于迭代,这里以dict的迭代为例:

    print '------------ enumerate ---------------'
    L = ['Adam','Lisa','Bart','Paul']
    
    for index,value in enumerate(L):
        print index,'-',value
    
    print '------------- iteration of dict -----------'
    d = {'Adam': 95, 'Lisa': 80, 'Bart': 60}
    
    
    print '------ 直接打印值 --------'
    print d.values()
    
    print '------ 普能迭代 --------'
    for v in d.values():
        print v
        
    print '------ 省内存迭代 --------'
    for v in d.itervalues():
        print v
        
    
    print '------ 直接打印键值对  --------'
    print d.items()
    
    print '------ 键值一起迭代  --------'
    for k,v in d.iteritems():
        print k,':',v

      最后提一下lambda函数,感觉它跟生成列表一样,能帮助使用者快生成一个自定义函数:

    f = lambda x: x * x
    print f(3)
    
    myabs = lambda x: -x if x < 0 else x
    print myabs(-11)
    print myabs(12)
  • 相关阅读:
    Mybatis缓存理解
    Spring Batch中job的启动,停止,放弃操作
    spring中xml配置方式和注解annoation方式(包括@autowired和@resource)的区别
    fastjson使用TypeReference示例
    RabbitMQ基础组件和SpringBoot整合RabbitMQ简单示例
    RabbitMQ中各种消息类型如何处理?
    消息队列RabbitMQ基础知识详解
    RabbitMQ的消息确认机制
    rsync+inotify-tools
    Linux Rsync
  • 原文地址:https://www.cnblogs.com/binye-typing/p/6085385.html
Copyright © 2020-2023  润新知