ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

初学者如何学习Python?斯坦福大学泄漏17个实用小技巧快速入门!

2019-09-03 22:35:23  阅读:182  来源: 互联网

标签:17 Python 49ers Patriots 初学者 print Ravens Packers


在开始今天的话题之前,我们先讨论一个问题:编程初学者应该学习什么语言好?

每年每天都会有很多新入门的同学提出这个看似简单却又让人一下难以给出准确答复的问题。作为新手,纵然自己抓破脑袋,凭空也想象不出哪种语言更胜一筹;作为过来人,也许所能推荐的仅是自己正在使用的编程语言,也未必适合他人,但可以作为参考,这里我着重推荐一下 Python

“人生苦短,我选Python”。那么,你真的掌握了Python吗?下面我为大家介绍Python初学的17个学习小技巧!

1、交换变量

有时候,当我们要交换两个变量的值时,一种常规的方法是创建一个临时变量,然后用它来进行交换。例:

输入

a = 5

b = 10

#创建临时变量

temp = a

a = b

b = temp

print(a)

print(b)

但在Python中,其实我们有一种更简洁的写法:

2、if 语句在行内

print “Hello” if True else “World”

Hello

3、连接

下面的最后一种方式在绑定两个不同类型的对象时显得很酷。

nfc = [“Packers”, “49ers”]

afc = [“Ravens”, “Patriots”]

print nfc + afc

[’‘Packers’’, ‘‘49ers’’, ‘‘Ravens’’, ‘‘Patriots’’]

print str(1) + " world"

1 world

print 1 + " world"

1 world

print 1, “world”

1 world

print nfc, 1

[’‘Packers’’, ‘‘49ers’’] 1

4、计算技巧

#向下取整

print 5.0//2

2

2的5次方

print 2**5

32

注意浮点数的除法

print .3/.1

2.9999999999999996

print .3//.1

2.0

5、数值比较

x = 2

if 3 > x > 1:

print x

2

if 1 < x > 0:

print x

2

6、两个列表同时迭代

nfc = [“Packers”, “49ers”]

afc = [“Ravens”, “Patriots”]

for teama, teamb in zip(nfc, afc):

print teama + " vs. " + teamb

Packers vs. Ravens

49ers vs. Patriots

7、带索引的列表迭代

teams = [“Packers”, “49ers”, “Ravens”, “Patriots”]

for index, team in enumerate(teams):

print index, team

0 Packers

1 49ers

2 Ravens

3 Patriots

8、列表推导

已知一个列表,刷选出偶数列表方法:

numbers = [1,2,3,4,5,6]

even = []

for number in numbers:

if number%2 == 0:

even.append(number)

9、用下面的代替

numbers = [1,2,3,4,5,6]

even = [number for number in numbers if number%2 == 0]

10、字典推导

teams = [“Packers”, “49ers”, “Ravens”, “Patriots”]

print {key: value for value, key in enumerate(teams)}

{’‘49ers’’: 1, ‘‘Ravens’’: 2, ‘‘Patriots’’: 3, ‘‘Packers’’: 0}

11、初始化列表的值

items = [0]*3

print items

[0,0,0]

12、将列表转换成字符串

teams = [“Packers”, “49ers”, “Ravens”, “Patriots”]

print ", ".join(teams)

‘‘Packers, 49ers, Ravens, Patriots’’

13、从字典中获取元素

不要用下列的方式

data = {’‘user’’: 1, ‘‘name’’: ‘‘Max’’, ‘‘three’’: 4}

try:

is_admin = data[’‘admin’’]

except KeyError:

is_admin = False

替换为

data = {’‘user’’: 1, ‘‘name’’: ‘‘Max’’, ‘‘three’’: 4}

is_admin = data.get(’‘admin’’, False)

14、获取子列表

x = [1,2,3,4,5,6]

#前3个

print x[:3]

[1,2,3]

#中间4个

print x[1:5]

[2,3,4,5]

#最后3个

print x[-3:]

[4,5,6]

#奇数项

print x[::2]

[1,3,5]

#偶数项

print x[1::2]

[2,4,6]

15、60个字符解决FizzBuzz

前段时间Jeff Atwood 推广了一个简单的编程练习叫FizzBuzz,问题引用如下:

写一个程序,打印数字1到100,3的倍数打印“Fizz”来替换这个数,5的倍数打印“Buzz”,对于既是3的倍数又是5的倍数的数字打印“FizzBuzz”。

这里有一个简短的方法解决这个问题:

for x in range(101):print"fizz"[x%34::]+“buzz”[x%54::]or x

16、集合

用到Counter库

from collections import Counter

print Counter(“hello”)

Counter({’‘l’’: 2, ‘‘h’’: 1, ‘‘e’’: 1, ‘‘o’’: 1})

17、迭代工具

和collections库一样,还有一个库叫itertools

from itertools import combinations

teams = [“Packers”, “49ers”, “Ravens”, “Patriots”]

for game in combinations(teams, 2):

print game

(’‘Packers’’, ‘‘49ers’’)

(’‘Packers’’, ‘‘Ravens’’)

(’‘Packers’’, ‘‘Patriots’’)

(’‘49ers’’, ‘‘Ravens’’)

(’‘49ers’’, ‘‘Patriots’’)

(’‘Ravens’’, ‘‘Patriots’’)

在python中,True和False是全局变量,因此:

False = True

if False:

print “Hello”

else:

print “World”

Hello

如果你依然在编程的世界里迷茫,可以加入我们的Python学习扣qun:784758214,看看前辈们是如何学习的。交流经验。从基础的python脚本到web开发、爬虫、django、数据挖掘等,零基础到项目实战的资料都有整理。送给每一位python的小伙伴!分享一些学习的方法和需要注意的小细节,点击加入我们的 python学习者聚集地

总结:

Python是一种面向对象的解释型计算机程序的设计语言, Python具有丰富和强大的库。它常被称为胶水语言,能够把其他语言制作的各种模块很轻松地结合在一起。

相对于Java、C语言等,Python简单易学,更适合没有编程基础的小白入门。Python 的语言没有多少仪式化的东西,所以就算不是一个 Python 专家,你也能读懂它的代码。

Python的发展方向:数据分析、人工智能、web开发、测试、运维、web安全、游戏制作等等。

另外说下,Python目前的发展趋势非常好,伴随着大数据和人工智能的发展,Python的应用将得到更广泛的普及,Python是人工智能的未来。因为考虑到语言的灵活性,其速度以及提供的机器学习功能库,我们将继续看到Python在机器学习领域占据主导地位。

标签:17,Python,49ers,Patriots,初学者,print,Ravens,Packers
来源: https://blog.csdn.net/meiguanxi7878/article/details/100528767

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有