Py学习  »  Python

Python语言基础50课

生信菜鸟团 • 3 年前 • 846 次点击  

继续学习 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 > 4break
            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等;

根据使用范围可以将函数分为两类:

  • 主函数

    我们会使用这样来表示,它和代码一样,全局都是使用;
    01 if _name_ = '_main_':
    02     print('This is main.')
  • 子函数

    除了内置函数外,这里就是发挥你洪荒之力的地方啦;

    03 def Plus(a,b):
    04     print(a+b)
另外,还能从实现不同的功能角度来区分,比如 匿名函数 以及高阶函数 详见实例说明: 函数入门

来看例子:

"""
双色球随机选号

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(134)]
    # 通过无放回随机抽样的方式选中6个红色球
    selected_balls = sample(red_balls, 6)
    # 对红色球进行排序
    selected_balls.sort()
    # 用1到16的随机数表示选中的蓝色球并追加到列表中
    selected_balls.append(randint(116))
    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转换

  4种绘制带误差线的柱形图



生信技能树目前已经公开了三个生信知识库,记得来关注哦~

每周文献分享

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小时免费教学视频为你领路

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/63134
 
846 次点击