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

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

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

除了大家熟悉的知乎、豆瓣,已经有越来越多的公司开始用 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

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(' '.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)]))

5、一行代码输出Mandelbrot图像

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

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

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

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

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))]))

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(' '.join('.' * i + 'Q' + '.' * (8-i-1) for iin vec) + " ======== ") 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)))]

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。

python画图代码-Python为啥这么牛?一行Python代码除了画图竟然还有这些功能!相关推荐

  1. 一行python代码值多少钱_一行python代码

    Life is short, just use Python. 自从08年接触Python,就有爱不释手的感觉,逐渐地,有些不忍地疏远了Perl 和Shell编程,因为python 的优雅么? 不全是 ...

  2. python代码库能干什么_一行Python代码能做什么?

    很典型的文章,基本可以展示Python代码到底有多黑魔法.虽然文中有些案例连我都觉得走火入魔,但真的很值得一看... 自从08年接触Python,就有爱不释手的感觉,逐渐地,有些不忍地疏远了Perl ...

  3. python一行代码是什么意思_一行Python代码能做什么?

    很典型的文章,基本可以展示Python代码到底有多黑魔法.虽然文中有些案例连我都觉得走火入魔,但真的很值得一看... 自从08年接触Python,就有爱不释手的感觉,逐渐地,有些不忍地疏远了Perl ...

  4. python怎么读文件里的某一行-python如何读取文件中的某几行

    python读取文件的指定行,可以使用以下的方法 1.os.mknod("test.txt") #创建空文件 2.fp = open("test.txt",w) ...

  5. python文件之间的相互调用_一行 Python 代码能实现什么丧心病狂的功能?

    python一直被病垢运行速度太慢,但是实际上python的执行效率并不慢,慢的是python用的解释器Cpython运行效率太差. "一行代码让python的运行速度提高100倍" ...

  6. python怎么读文件里的某一行-python读取txt文件并取其某一列数据的示例

    菜鸟笔记 首先读取的txt文件如下: AAAAF110 0003E818 0003E1FC 0003E770 0003FFFC 90 AAAAF110 0003E824 0003E208 0003E7 ...

  7. python怎么读文件里的某一行-Python如何获取文件指定行的内容

    linecache, 可以用它方便地获取某一文件某一行的内容.而且它也被 traceback 模块用来获取相关源码信息来展示. 用法很简单: >>> import linecache ...

  8. python能在生活中做什么-一行Python能实现什么丧心病狂的功能?

    开启 HTTP 服务器 python -m SimpleHTTPServer 8000 或者是 Python 3 的 python3 -m http.server 8080 开启 FTP 服务器 py ...

  9. 手机利用python访问电脑文件_黑客教程,一行python命令让手机读取电脑文件!

    本文讲解python的一个内置文件传输下载器,可以用来在局域网内进行文件传输,当然可能有人会问,我用微信QQ也能传,为什么还要用python来传输下载?在此,其实我个人感觉的是,这种操作更简单,省了时 ...

  10. python源代码不需要编译成什么-关于python代码是编译执行还是解释执行

    Python 是编译型语言还是解释型语言?回答这个问题前,应该先弄清楚什么是编译型语言,什么是解释型语言. 所谓编译执行就是源代码经过编译器编译处理,生成目标机器码,就是机器能直接运行的二进制代码,下 ...

最新文章

  1. C语言—用结构体指针给数组赋值(结构体指针指向字符串,给字符串赋值)
  2. memcache的安装及管理
  3. 写给对 ”游戏开发” 感兴趣的朋友们
  4. 用Artifactory管理内部Maven仓库
  5. 重新打开_iPhone 应用停止响应或无法打开的解决办法
  6. 自动改变文字大小和颜色的javascript效果
  7. MySQL8.0 - 新特性 - 临时表改进 1
  8. opencv cvtColor 出错
  9. 一、Maven-单一架构案例(创建工程,引入依赖,搭建环境:持久化层,)
  10. php5.4.45连接mssql2000,用php在linux下连接mssql2000(转)
  11. 深度学习项目部署遇到的错误【记录】
  12. pycharm运行python程序没有解释器怎么办
  13. [T00ls]DEDECMS 0DAY
  14. 一个男人不顾家的表现有哪些?
  15. 实例:用C#.NET手把手教你做微信公众号开发(13)--事件消息处理之取消关注
  16. pytorch并行处理详解(多GPU,环境变量)
  17. p620光耦接单片机_基于51单片机的可控硅调压调光程序-带过零检测
  18. 中值滤波、低通与高通滤波
  19. 关于网页中的万年历(功能超强版)
  20. RaiDrive NonProfit 非盈利版

热门文章

  1. Dijkstra(狄克斯特拉)求加权重的邻接矩阵最短路径(初级版)
  2. 剑指offer面试题07. 重建二叉树(递归)(切片)
  3. error汇总:dpkg: error processing package *** (--configure)
  4. 前端性能优化之重排和重绘
  5. linux文件系统命令
  6. Sublime Text 3安装与使用
  7. iOS播放器 - AVPlayer
  8. CSAPP阅读进度日记
  9. sqlite关于时间的处理
  10. 当弱引用对象成为集合元素时