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


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

查看所有标签

猜你喜欢:

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

人工智能基础

人工智能基础

汤晓鸥、陈玉琨 / 华东师范大学出版社 / 2018-4-1 / 35.00元

人工智能基础(高中版)》是面向高中学生的教材。讲授人工智能的发展历史、基本概念以及实际应用,使学生理解人工智能的基本原理,特别是数据、算法与应用之间的相互关系。并结合常见的应用场景,理解人工智能技术(包括感知与决策)的基本工作方式,通过动手实践,更深入地理解人工智能技术的原理、能力,以及在实用中面临的挑战。本书强调人工智能基本理念与原理的传递,注重创造力、想象力、整体思考,以及动手能力的提升。一起来看看 《人工智能基础》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

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

各进制数互转换器

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码