Python为啥这么牛?一行Python代码除了画图竟然还有这些功能!

栏目: Python · 发布时间: 6年前

在开始这个话题之前,我想问大家:什么是 Python?根据 Python 之父 Guido van Rossum 的话,Python是:一种高级程序语言,其核心设计哲学是代码可读性和语法,能够让 程序员 用很少的代码来表达自己的想法。

对于我来说,学习 Python 的首要原因是,Python 是一种可以优雅编程的语言。它能够简单自然地写出代码和实现我的想法。

另一个原因是我们可以将 Python 用在很多地方:python是真的火!它几乎可以做各个领域各个平台,包括Web开发,网络运维,科学计算,3D游戏开发,图形界面开发,人工智能等。

Python为啥这么牛?一行Python代码除了画图竟然还有这些功能!

除了大家熟悉的知乎、豆瓣,已经有越来越多的公司开始用 Python 来快速搭建网站产品。相应的,也有越来越多的公司开设了Python Web的职位,那么让我们来学习一下 Python 吧。

Python基础

1. 变量

你可以把变量想象成一个用来存储值的单词。我们看个例子。

Python 中定义一个变量并为它赋值是很容易的。假如你想存储数字 1 到变量 “one” ,让我们试试看:

one = 1

超级简单吧?你只需要把值 1 分配给变量 “one” 。

two = 2

some_number = 10000

只要你想,你可以把任意的值赋给任何其他的变量。正如你从上面看到的那样,变量 “two” 存储整型变量 2 ,变量 “some_number” 存储 10000 。

除了整型,我们还可以使用布尔值(True/Flase)、字符串、浮点型和其他数据类型。

# booleanstrue_boolean = Truefalse_boolean = False# stringmy_name = "Leandro Tk"# floatbook_price = 15.80

2. 控制流程:条件语句

“If”使用一个表达式来判断一个语句是True 还是False ,如果是True,那么执行if内的代码,例子如下:

if True:

print("Hello Python If")if 2 > 1:

print("2 is greater than 1")

2 比 1 大,所以 print 代码被执行。

当“if”里面的表达式是 false 时,“else” 语句将会执行。

if 1 > 2:

print("1 is greater than 2")else:

print("1 is not greater than 2")

1 比 2 小,所以“else”里面的代码会执行。

你也可以使用“elif”语句:

if 1 > 2:

print("1 is greater than 2")elif 2 > 1:

print("1 is not greater than 2")else:

print("1 is equal to 2")

3. 循环和迭代

在 Python 中,我们可以用不同的形式进行迭代。我会说下 while 和 for。

While 循环:当语句是 True 时,while 内部的代码块会执行。所以下面这段代码会打印出 1 到 10 。

num = 1while num <= 10:

print(num)

num += 1

while 循环需要循环条件,如果条件一直是 True ,它将会一直迭代,当 num 的值为 11 时,循环条件为 false 。

另一段代码可以帮你更好的理解 while 语句的用法:

loop_condition = Truewhile loop_condition:

print("Loop Condition keeps: %s" %(loop_condition))

loop_condition = False

循环条件是 True 所以会一直迭代,直到为 False 。

For 循环:你可以在代码块上应用变量 “num” ,而 “for” 语句将为你迭代它。此代码将打印与 while 中相同的代码:从 1 到 10 。

for i in range(1, 11):

print(i)

瞧见没?这太简单了。i 的范围从 1 开始一直到第 11 个元素(10是第十个元素)

这么火的Python,只用一行,能够实现哪些好玩的功能呢?

1、一行代码启动一个Web服务

python -m SimpleHTTPServer 8080 # python2

python3 -m http.server 8080 # python3

Python为啥这么牛?一行Python代码除了画图竟然还有这些功能!

2、一行代码实现变量值互换

a, b = 1, 2; a, b = b, a

3、一行代码解决FizzBuzz问题

FizzBuzz问题:打印数字1到100, 3的倍数打印“Fizz”, 5的倍数打印“Buzz”, 既是3又是5的倍数的打印“FizzBuzz”

print(' '.join(["fizz"[x % 3 * 4:]+"buzz"[x % 5 * 4:] or str(x) for x inrange(1, 101)]))

4、一行代码输出特定字符”Love”拼成的心形

print('\n'.join([''.join([('Love'[(x-y) % len('Love')] if ((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3 <= 0 else ' ') for x in range(-30,30)]) for y in range(30, -30, -1)]))

Python为啥这么牛?一行Python代码除了画图竟然还有这些功能!

5、一行代码输出Mandelbrot图像

Mandelbrot图像:图像中的每个位置都对应于公式N=x+y*i中的一个复数

print('\n'.join([''.join(['*'if abs((lambda a: lambda z, c, n: a(a, z, c, n))(lambda s, z, c, n: z

Python为啥这么牛?一行Python代码除了画图竟然还有这些功能!

6、一行代码打印九九乘法表

print('\n'.join([' '.join(['%s*%s=%-2s' % (y, x, x*y) for y in range(1, x+1)])for x in range(1, 10)]))

Python为啥这么牛?一行Python代码除了画图竟然还有这些功能!

7、一行代码计算出1-100之间的素数(两个版本)

print(' '.join([str(item) for item in filter(lambda x: not [x % i for i inrange(2, x) if x % i == 0], range(2, 101))]))

print(' '.join([str(item) for item in filter(lambda x: all(map(lambda p: x % p!= 0, range(2, x))), range(2, 101))]))

Python为啥这么牛?一行Python代码除了画图竟然还有这些功能!

8、一行代码输出斐波那契数列

print([x[0] for x in [(a[i][0], a.append([a[i][1], a[i][0]+a[i][1]])) for a in([[1, 1]], ) for i in range(30)]])

9、一行代码实现快排算法

qsort = lambda arr: len(arr) > 1 and qsort(list(filter(lambda x: x <= arr[0],arr[1:]))) + arr[0:1] + qsort(list(filter(lambda x: x > arr[0], arr[1:]))) orarr

10、一行代码解决八皇后问题

[__import__('sys').stdout.write('\n'.join('.' * i + 'Q' + '.' * (8-i-1) for iin vec) + "\n========\n") for vec in__import__('itertools').permutations(range(8)) if 8 == len(set(vec[i]+i for iin range(8))) == len(set(vec[i]-i for i in range(8)))]

Python为啥这么牛?一行Python代码除了画图竟然还有这些功能!

11、一行代码实现数组的flatten功能:将多维数组转化为一维

flatten = lambda x: [y for l in x for y in flatten(l)] if isinstance(x, list)else [x]

12、一行代码实现list, 有点类似与上个功能的反功能

array = lambda x: [x[i:i+3] for i in range(0, len(x), 3)]

13、一行代码实现求解2的1000次方的各位数之和

print(sum(map(int, str(2**1000))))

总结:

随着人工智能的发展与应用,Python编程语言受到世界各界人士的关注,编程圈金句从“人生苦短,我学Python”转变成了“学完 Python,可以上天”,Python工程师也成为一个热门职业,就业薪资高,发展前景广阔。

尽管我们都会调侃「又骗我Python」,但在编程语言排行榜中,因为人工智能的火热,也因其语言本身对新手友好、易于上手、功能强大、高效灵活,年轻Python 的「受欢迎度」就这样直线上升,甚至已经威胁到 Java 、C/C++多年打下的江山了。

Python俨然已经成为2018最火的编程语言,虽然Python不能让你找到对象,但是你决对可以成为有钱的单身狗。还有具有现实意义的一点,干Python的,薪资相对都不错,当然你需要花一段时间来学习Python。

欢迎加入  51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试 工具 安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ            群:           755431660


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法谜题

算法谜题

Anany Levitin、Maria Levitin / 赵勇、徐章宁、高博 / 人民邮电出版社 / 2014-1-1

算法是计算机科学领域最重要的基石之一。算法谜题,就是能够直接或间接地采用算法来加以解决的谜题。求解算法谜题是培养和锻炼算法思维能力一种最有效和最有乐趣的途径。 本书是一本经典算法谜题的合集。本书包括了一些古已有之的谜题,数学和计算机科学有一部分知识就发源于此。本书中还有一些较新的谜题,其中有一部分谜题被用作知名IT企业的面试题。全书可分为4个部分,分别是概览、谜题、提示和答案。概览介绍了算法......一起来看看 《算法谜题》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

MD5 加密
MD5 加密

MD5 加密工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具