社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python语言基础50课

生信菜鸟团 • 4 年前 • 898 次点击  

继续学习 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
 
898 次点击