binye-typing

  最近在研究动态脚本语言 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 \'\n\'.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)

 

分类:

技术点:

相关文章:

  • 2021-12-17
  • 2021-10-08
  • 2021-06-22
  • 2021-12-01
  • 2021-09-13
  • 2021-09-18
  • 2021-09-15
猜你喜欢
  • 2021-11-23
  • 2021-09-21
  • 2021-10-03
  • 2021-10-03
  • 2021-11-20
  • 2021-09-01
  • 2021-09-17
相关资源
相似解决方案