python中,函数、迭代、切片、列表生成

函数

不解释,等同与java中的方法、c中的函数(可能会有少许出入)

定义一个,求list,所有元素平方的和

def square_of_sum(L):
    sum = 0
    for n in range(len(L)):
        sum = sum + L[n]*L[n]
    return sum

print square_of_sum([1, 2, 3, 4, 5])
print square_of_sum([5, 0, 5, 15, 25])
  • python中没那么多破事,各种类型兼容不兼容的问题,定义函数也就一个def的方法,如果是c的话还好,和java比起来简直就是天上地下

在Python中,定义一个函数要使用 def 语句,依次写出函数名、括号、括号中的参数和冒号:,
然后,在缩进块中编写函数体,函数的返回值用 return 语句返回。

python可以定义默认参数

def greet(a = 'world'):
    print "Hello,",a

greet()
greet('Bart')

这是一个特别神奇的特性、、第一次见到

python定义可变形参

def printinfo(*args ):
   for var in args:
      print var
   return
printinfo( 10 )
printinfo( 70, 60, 50 )

python的特性神奇到哭
可变参数的名字前面有个 * 号,我们可以传入0个、1个或多个参数给可变参数:

切片

[a: b :c]

a-> 开始的坐标,可以是负数
b-> 结束的坐标,可以是负数
c-> 设置a和b之间的差

#首字母大写
def firstCharUpper(s):
    a = s[:1]
    a = a.upper()
    b = s[1:]
    c = a+b
    return a+b

print firstCharUpper('hello')
print firstCharUpper('sunday')
print firstCharUpper('september')

zip()函数可以把两个 list 变成一个 list

L = ['Adam', 'Lisa', 'Bart', 'Paul']
for index, name in zip(range(1, len(L)+1), L):
    print index, '-', name

生成列表

list = range(1,101,2)
L = []
for a in list:
    L.append(a*(a+1))
print L

说白了,还是集合,换了一个玩法

python 和前端的混用

d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }
def generate_tr(name, score):
    if score < 60:
        return '<tr><td>%s</td><td style="color:red">%s</td></tr>' % (name, score)
    return '<tr><td>%s</td><td>%s</td></tr>' % (name, score)
tds = [generate_tr(name, score) for name, score in d.iteritems()]
print '<table border="1">'
print '<tr><th>Name</th><th>Score</th><tr>'
print '\n'.join(tds)
print '</table>'
posted @ 2020-03-13 22:27  zlisang  阅读(93)  评论(0)    收藏  举报