继续学习 Python-100-Days 项目的时候,发现作者@骆昊,开辟了一个对初学者更加友好、具有配套教学视频的项目 Python-Core-50-Courses。点击阅读原文直达页面。
我的Python - 100天笔记 |D1-D7
我的Python - 100天笔记 |D8-D14
目前,课程已更新到21课,通读下来,其中更详细的展开 Python 常用数据结构、分支循环、面向对象编程及函数相关的基础及应用,值得一看。配套视频链接后台回复 Python语言基础视频 可获得原作者分享链接。
下面就我挑选了其中有意思的三个点,对专栏之前的推文进行补充:
嵌套循环结构
Python中三大结构分别指循序、分支和循环,一般与 判断 配套出现。和其他的逻辑运算一样,python3的与
运算使用and 连接,或
运算使用or连接,非
运算使用not Ture
。需要注意的是python中None
是一个一个特殊空值,并不是0,因为0是有意义的。
其中,循环语句有两类,while语句和for语句,但是并没有do… while循环。简单来说whlie语句进行判断,如果TRUE,进入循环,FALSE则退出;而for循环是首要给定循环范围,每一次循环会用一个变量存储本次循环的值,当超出范围,循环结束。当然,循环中还可以进行嵌套,例如下面的例子:
"""
打印乘法口诀表
break
"""
>>> for i in range(1,10
):
for j in range(1,i+1):
if j > 4: break
print "%dx%d=%-2d" % (j,i,j*i),
print
1x1=1
1x2=2 2x2=4
1x3=3 2x3=6 3x3=9
1x4=4 2x4=8 3x4=12 4x4=16
1x5=5 2x5=10 3x5=15 4x5=20
1x6=6 2
x6=12 3x6=18 4x6=24
1x7=7 2x7=14 3x7=21 4x7=28
1x8=8 2x8=16 3x8=24 4x8=32
1x9=9 2x9=18 3x9=27 4x9=36
break 语句只能跳出包围它的那一层循环。在嵌套循环结构的情况下,一条 break 语句虽然跳出了本层循环,但跳不出外层循环,因此控制仍然可能处于某个循环体中。for循环和 while循环的选择:
如果知道循环的次数,我们通常使用for
循环;如果循环次数不能确定,可以用while
循环。在循环中还可以使用break
来提前结束循环。
位置:【第006课】循环结构
双色球案例
一个小栗子把函数、循环结构、分支结构、表达式及列表等融合在一起,先回顾一下: 列表使用 |
元组拆包是个啥?
函数基本使用方法:
函数,即实现一个特定功能的代码段。是python中的重要技能(工具)。函数离我们并不远,早期我们已熟练使用了一些内置函数:例如input
print
等;
根据使用范围可以将函数分为两类:
另外,还能从实现不同的功能角度来区分,比如 匿名函数
以及高阶函数
详见实例说明:
函数入门来看例子:
"""
双色球随机选号
Version: 0.1
Author: 骆昊
"""
from random import randint, sample
def display(balls):
"""输出列表中的双色球号码"""
for index, ball in enumerate(balls):
if index == len(balls) - 1:
print('|', end=' ')
print(f'{ball:0>2d}', end=' ')
print()
def random_select():
"""随机选择一组号码"""
# 用生成式生成1到33号的红色球
red_balls = [x for x in range(1, 34)]
# 通过无放回随机抽样的方式选中6个红色球
selected_balls = sample(red_balls, 6)
# 对红色球进行排序
selected_balls.sort()
# 用1到16的随机数表示选中的蓝色球并追加到列表中
selected_balls.append(randint(1, 16))
return selected_balls
n = int(input('机选几注: '))
for _ in range(n):
display(random_select())
本人亲测,随机20个彩票序列,对应第20039期彩票,没有中。娱乐一下。
提示:彩票的本质是:虚构一个不劳而获的事,去忽悠一群想不劳而获的人,最终养活一批真正不劳而获的人。所以,珍爱生命,远离各种形式的赌博。
位置:【第013课】列表和元组的应用
PyCharm快捷键
简单又快捷的上手推文,戳下面:
PyCharm 的使用方法及小技巧
PyCharm又又又更新了
PEP8:编程基础与规范代码
PyCharm
直接送你三个开场buff,推荐使用。
当然会有一些好用的快捷键,例如:
快捷键 | 作用 |
---|
command + j | 显示可用的代码模板 |
command + b | 查看函数、类、方法的定义 |
ctrl + space | 万能代码提示快捷键,一下不行按两下 |
command + alt + l | 格式化代码 |
alt + enter | 万能代码修复快捷键 |
ctrl + / | 注释/反注释代码 |
shift + shift | 万能搜索快捷键 |
command + d / command + y | 复制/删除一行代码 |
command + shift + -
/ command + shift + + | 折叠/展开所有代码 |
F2 | 快速定位到错误代码 |
command+ alt + F7 | 查看哪些地方用到了指定的函数、类、方法 |
说明:Windows系统下如果使用PyCharm的默认设置,可以将上面的command
键换成ctrl
键即可,唯一的例外是ctrl + space
那个快捷键,因为它跟Windows系统切换输入法的快捷键是冲突的,所以在Windows系统下默认没有与之对应的快捷键。
位置:【第019课】使用PyCharm开发Python应用程序
还有一些课程值得关注,比如表达式、生成式、装饰器、语法糖 也是python中经常会使用到的一些方法。
参考资料
jackfrued/ Python-Core-50-Courses
程序设计与思路 3.4.4 嵌套循环
往期推荐
ComplexHeatmap包更新支持pheatmap转换
生信技能树目前已经公开了三个生信知识库,记得来关注哦~
每周文献分享
https://www.yuque.com/biotrainee/weeklypaper
肿瘤外显子分析指南
https://www.yuque.com/biotrainee/wes
生物统计从理论到实践
https://www.yuque.com/biotrainee/biostat
友情宣传
强烈建议你推荐给身边的博士后以及年轻生物学PI,多一点数据认知,让他们的科研上一个台阶:
•生信爆款入门-全球听(买一得五)(第4期) ,你的生物信息学入门课。•数据挖掘第2期(两天变三周,实力加量),医学生/医生首选技能提高课。•生信技能树的2019年终总结 ,你的生物信息学成长宝藏•2020学习主旋律,B站74小时免费教学视频为你领路