Python是很多孩子接触到真正的编程语言的一步,学起来还有些晦涩难懂,不像Scratch那样丰富多彩,Python就比较注重编程逻辑和思维了。新人学习Python如果能掌握一些使用的技巧和工具的话,是可以取得事半功倍的学习效果的。今天小码王少儿编程培训机构老师就来为大家分享Python初学者需要学习的几个技巧,希望对大家的学习能有所帮助,一起来了解一下。

交换变量

x = 6

y = 5

x, y = y, x

print x

>>> 5

print y

>>> 6

if 语句在行内

print "Hello" if True else "World"

>>> Hello

连接

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

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

数字技巧

#除后向下取整

print 5.0//2

>>> 2

# 2的5次方

print 2**5

>> 32

注意浮点数的除法

print .3/.1

>>> 2.9999999999999996

print .3//.1

>>> 2.0

数值比较

这是我见过诸多语言中很少有的如此棒的简便法

x = 2

if 3 > x > 1:

print x

>>> 2

if 1 < x > 0:

print x

>>> 2

同时迭代两个列表

nfc = ["Packers", "49ers"]

afc = ["Ravens", "Patriots"]

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

print teama + " vs. " + teamb

>>> Packers vs. Ravens

>>> 49ers vs. Patriots

带索引的列表迭代

teams = ["Packers", "49ers", "Ravens", "Patriots"]

for index, team in enumerate(teams):

print index, team

>>> 0 Packers

>>> 1 49ers

>>> 2 Ravens

>>> 3 Patriots

列表推导式

已知一个列表,我们可以刷选出偶数列表方法:

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

even = []

for number in numbers:

if number%2 == 0:

even.append(number)

转变成如下:

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

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

是不是很牛呢,哈哈。

字典推导

和列表推导类似,字典可以做同样的工作:

teams = ["Packers", "49ers", "Ravens", "Patriots"]

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

>>> {'49ers': 1, 'Ravens': 2, 'Patriots': 3, 'Packers': 0}

初始化列表的值

items = [0]*3

print items

>>> [0,0,0]

列表转换为字符串

teams = ["Packers", "49ers", "Ravens", "Patriots"]

print ", ".join(teams)

>>> 'Packers, 49ers, Ravens, Patriots'

从字典中获取元素

我承认try/except代码并不雅致,不过这里有一种简单方法,尝试在字典中查找key,如果没有找到对应的alue将用第二个参数设为其变量值。

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)

获取列表的子集

有时,你只需要列表中的部分元素,这里是一些获取列表子集的方法。

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]

60个字符解决FizzBuzz

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

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

这里就是一个简短的,有意思的方法解决这个问题:

集合

除了python内置的数据类型外,在collection模块同样还包括一些特别的用例,在有些场合Counter非常实用。如果你参加过在这一年的Facebook HackerCup,你甚至也能找到他的实用之处。

from collections import Counter

print Counter("hello")

>>> Counter({'l': 2, 'h': 1, 'e': 1, 'o': 1})

迭代工具

和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')

False == True

比起实用技术来说这是一个很有趣的事,在python中,True和False是全局变量,因此:

False = True

if False:

print "Hello"

else:

print "World"

>>> Hello

如果你还有更多有趣的Python技巧的话,欢迎与我们共同分享。南京小码王是南京地区专业的少儿编程培训机构,开设的Python课程深受中小学生欢迎,,可以帮助大家快速入门。如果你还想获得免费Python教程和学习资料的话,可以直接联系在线老师,也欢迎亲自前来小码王实地考察,免费试听课程。

小码王python_小码王分享给Python初学者的几个技巧相关推荐

  1. 小码王python_小码王为你解读Python编程课程

    随着信息学陆续被纳入各地中小学教材,不少大综合考试开始试点编程,少儿编程教育已经成为趋势,小码王也设置了螺旋式上升的课程体系,从基础的Scratch编程到满足提升需求的Python编程,自然过渡,有效 ...

  2. 小猿圈python_小猿圈Python配置gRPC环境

    现在学习Python的同学有没有遇到过一些问题?有没有问题不知道怎么去解决呢?下面小猿圈Python讲师每天为你讲解一个知识点,今天讲解的是Python配置gRPC环境,希望对你有所帮助. gRPC是 ...

  3. 小猿学python_小猿圈python学习之编程语言排名

    我们很多人在选择学一门编程语言的时候都会通过所学语言的人数排行来确定,因为用的人多意味着以后找工作的范围大一些,今天小猿圈就给大家分享目前各大编程语言的排名,以便于大家参考 排名前十的依旧是:Java ...

  4. 小猿学python_小猿圈python入门之转行零基础该如何学Python?

    转行零基础学Python编程开发难度大吗?从哪学起?近期很多小伙伴问我,如果自己转行学习Python,完全0基础能否学会呢?Python的难度到底有多大?今天,小编就来为大家解决一下疑惑. 学习Pyt ...

  5. 小猿学python_小猿圈详解小白如何学习Python网络爬虫

    人工智能发展的今天,现在很多企业也都在学习python技术开发,但是真正会的却不是很多,特别是很多都喜欢爬虫,因为可以爬取一些自己喜欢的内容,那么对于小白的话该如何学习python爬虫呢?下面小猿圈P ...

  6. [附源码]JAVA毕业设计小王防疫副食品配送商城(系统+LW)

    [附源码]JAVA毕业设计小王防疫副食品配送商城(系统+LW) 项目运行 环境项配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Ecli ...

  7. Python贪吃蛇小游戏_完整源码免费分享

    文章目录 Python 贪吃蛇小游戏 1. 导包 2. 配置初始化参数 3. 主函数及运行主体 4. 画食物的函数 5. 画贪吃蛇的函数 6. 画网格的函数(非必选,觉得多余的可以忽略此项) 7. 操 ...

  8. 微信小程序转二维码方法分享

    微信小程序转二维码方法分享 需要转码的可以看看 这个东西是看个人需求的,618就要来了,各种活动也将来袭 有些小伙伴不知道怎么生成 为了方便小程序邀请活动没法外发,这里分享下将小程序转二维码的方法 首 ...

  9. ThinkPHP内核全行业小程序运营管理系统源码免费分享下载

    ThinkPHP内核全行业小程序运营管理系统源码 界面自由DIY,打造个性小程序 可拖拽式DIY布局,开启自定义功能新征程,无需繁琐操作,轻松拖拽即可实现界面布局:同步实时预览,可视化操作让您所见即所 ...

  10. 微信小程序如何本地测试太阳码(二维码)分享功能(参数接收调试)

    小程序如何在本地测试获取到太阳码(二维码)中的参数? 第一步:把生成的太阳码保存在本地. 第二步:在微信开发中工具中运行好项目然后选择添加编辑模式 第三步:选择上传文件, 上传之前保存的太阳码,上传过 ...

最新文章

  1. [转]ASP.NET页面生命周期描述
  2. 大数据如何在商业银行战略规划中发挥作用
  3. c怎么调用matlab dll,matlab和c++调用DLL方法(最新整理)
  4. Java实现在线预览功能
  5. 基于vue的移动web app页面缓存解决方案
  6. PInvoke复习之深入理解char*与wchar_t*与string以及wstring之间的相互转换
  7. java script 教程_Java Script入门
  8. 风格迁移应用_[风格迁移][超分][ECCV2016]Perceptual Losses for Real...
  9. 分布式系统原理 之7 基于MVCC的分布式事务
  10. [MEGA DEAL]完整的Java编程训练营(94%折扣)
  11. Elasticsearchan相关插件和工具安装
  12. iphone开发之C++和Objective-C混编
  13. jq php异步上传图片,php+jquery Ajax异步上传图片(ajaxSubmit)实例_PHP教程
  14. 飞鸽传书计算乘积的聚合函数跑哪去了呢?
  15. 如何让C/S应用支持多端(PC、Android、iOS)同时登录?
  16. html css:背景图片链接css写法
  17. ExpandableListView 实现三级菜单中grou_item与child_item点击无响应
  18. [VS code - SSH Remote] ln: failed to create hard link ... File exists
  19. 高端内存的由来(为什么需要高端内存)
  20. 【转】未来10年经济走向及发展趋势

热门文章

  1. 更改浏览器语言(firefox, chrome)详细步骤
  2. C#今日头条推荐新闻爬取
  3. vue 弹框只出来一半,另一半白屏遮挡了
  4. 超融合服务器虚拟化优缺点,超融合产品,服务器虚拟化,桌面虚拟化-路坦力-smartx...
  5. pngimg 可以商用吗_超级干货,30个无版权免费商用高清素材网站整理(设计师必备灵感源泉)...
  6. [你好,2022] 月落乌啼霜满天,江枫渔火对愁眠
  7. ps 条件动作添加 图层锁定和解锁
  8. 阿里云企业邮箱的imap和pop3设置
  9. Android Startup实现分析
  10. 不小心把移动硬盘设置为活动分区后的解决方法