中间断了一段时间,现在把慕课网上《Python入门》看完了,也敲完了课程中留的代码作业,可能因为没有实战过的原因,现在并不能明显的感觉到可以用Python来做什么。 但是学完了总得留下点什么吧,现在回顾一下。 整体感觉,这是一种高级语言,可以用较少的代码实现功能,而且更容易阅读。
代码块用缩进区分,同意代码块缩进相同,比如下面这个,函数并没有用大括号,而是冒号后面的代码保持了相同的缩进
# 7-4 一元二次方程求根公式def quadratic_equation(a, b, c): x1 = (-b + math.sqrt(b * b - 4 * a * c)) / 2 * a x2 = (-b - math.sqrt(b * b - 4 * a * c)) / 2 * a return x1, x2PRint quadratic_equation(2, 3, 0)在代码文件头部添加
# -- coding: utf-8 --
但用Pycharm的时候头部添加的是
# coding=utf-8
效果是一样的
这几个表还得单独总结一下
再举一个不太恰当的例子
def firstCharUpper(s): return s[0].upper()+s[1:]# return s[0].upper(), s[1:]print firstCharUpper('hello')print firstCharUpper('sunday')print firstCharUpper('september')输出结果为
HelloSundaySeptember而如果用注释的那行return则结果为:
('H', 'ello')('S', 'unday')('S', 'eptember')return语句一次可以返回多个值,用逗号分开的话相当于返回了s[0].upper() 和 s[1:] 那么对于print语句,自然也是把s[0].upper() 和s[1:]当成两个值来打印了。这里可以看出Python的函数返回多值其实就是返回一个tuple。 加号用来连接字符串,得到的结果就是一个字符串。
如果调用的时候不传参数就使用默认的参数
def greet(s="world"): print "Hello, " + s + "."greet()greet('Bart')分别输出Hello, world. 和Hello, Bart.
一个*args就不限定参数类型和个数了 可变参数也不是很神秘,Python解释器会把传入的一组参数组装成一个tuple传递给可变参数,因此,在函数内部,直接把变量 args 看成一个 tuple 就好了。
这其实是for的一种,在别的语言中没见过的用法
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
代码里面for语句似乎是返回了一个值给它前面的代码段使用##复杂表达式```pythontds = [generate_tr(name, score) for name, score in d.iteritems()]<div class="se-preview-section-delimiter"></div>for循环得到的name和score作为参数返回给前面的函数使用
俩for 双层循环
print [100 * x + 10 * y + x for x in range(1, 10) for y in range(0, 10)]新闻热点
疑难解答