Python入门:看了这篇文章如果1个小时没法入门Python,那么还是换个语言吧

简介: Python入门:看了这篇文章如果1个小时没法入门Python,那么还是换个语言吧

文章目录

此之谓入门,其标准是,在不计效率的情况下,可以使用这门语言实现一个不太复杂的功能。

当然,这个不计效率也不是毫无原则的不计,比如我可以1小时搞定,那么刚入门的新手需要1天甚至2天,他将需要大量的时间去查库查类查函数,但绝不至于用上一周半周的。

我从来都没学过python,当年只是受够了Matlab,而想把一个用Matlab写的类转成其他语言,结果用了一周,就把一个涵盖图像处理、数据拟合等功能的一千来行Matlab代码顺利转成了Python。过了没几年,Matlab就对我们禁用了,可见当年的选择是极为英明的。

那么如今让我重写一遍那个类,大概只需要一天不到。这就是新手和老手的区别,但也仅仅是新手和老手的区别。

从入门到熟练运用,需要的不是什么思维的提升,而仅仅是是一个字——,或者更直观地说,就是看代码量。从这个意义上来说,越快入门,就可以更早地堆积代码量,从而更早地熟练运用Python,而不是按部就班地从入门到放弃。学习编程最可怕的事情就是:每天写一遍Hello World并感觉收获满满。

接下来,快速入门Python。

1 环境配置与基本运算

正所谓天下武功、唯快不破。学Python,讲求的就是一个快字。

尽管下载Python并安装并不麻烦,但新手往往会在使用过程中出现各种让人费解的问题。所以,如果想1小时入门,我推荐这个。

在线Jupyter编辑工具,进入之后,点击中间的Try JupyterLab,就可以进入在线Notebook的界面。

2345_image_file_copy_28.jpg

点击Python3,快速进入jupyter notebook的环境。然后按照直觉,写一些四则运算表达式,例如这些:

x = 100
y = 50
z = 2.5
print(x + y * z)
print(x - y / z)
print(x * y**2)

然后同时按下Ctrl+回车,就能运行python代码。

image.png

然后按下alt+回车,开启下一段代码。

如果用shift+回车,则会综合上面的两个功能,本节耗时:3分钟。

如果觉得在线Jupyter工具不好用,还有这个ideone,进入之后选择python,输完代码后选择run

image.png

2 调用各种包

在python中,通过import来完成包的调用。例如,我想调用一个日历的包,然后打印日历

import calendar
calendar.prcal(2021,m=4)  #2021年,每行4个月

然后shift+回车,就可以看到日历了。

2345_image_file_copy_29.jpg

如果想通过python进行科学计算,应用最多的包是numpymatplotlib中的pyplot,前者用于计算,后者用于绘图。通常二者被重命名为npplt。接下来演示一下二者的用法。

import numpy as np
from matplotlib import pyplot as plt

x = np.random.rand(100)#python中通过#进行注释

y = np.random.rand(100)#用于生成100个随机数

plt.scatter(x,y)#绘制散点图,并存放在内存

plt.show()#调用内存中的图,show给我们

2345_image_file_copy_30.jpg

本节需要记住的单词importasnumpymatplotlib.pyplotrandom.randscatterplt.show

本节耗时:5分钟。

3 判断、循环

如果想统计刚刚新建的xy中,有多少大于0.5,那么方法很简单,:新建两个变量用于存储二者的个数,然后跑一个循环进行判断。

xNum = 0
yNum = 0
for i in range(100):
    if x[i]>0.5:xNum += 1   # xNum += 1 即 xNum = xNum + 1
    if y[i]>0.5:yNum += 1   # python中通过方括号进行索引
print(xNum,yNum) 
可以把
range(100)
理解为0到99这100个数组成的一个集合,
for i in range(100)
意味着
i
对这个集合进行遍历,遍历就是逐个复制给i,所以就完成了循环。
在python中,判断、循环结构通过
:
与其内容进行分隔,且子代码块需要通过空格进行标记。如果程序块中只有一行代码,则可以直接写在
:
后面。
如果想知道,
x
中处于
         (
         0
         ,
         0.3
         ]
         ,
         (
         0.3
         ,
         0.6
         ]
         ,
         (
         0.6
         ,
         1
         ]
         (
         0
         ,
         0.3
         ]
         ,
         (
         0.3
         ,
         0.6
         ]
         ,
         (
         0.6
         ,
         1
         ]
         (
         0
         ,
         0.3
         ]
         ,
         (
         0.3
         ,
         0.6
         ]
         ,
         (
         0.6
         ,
         1
         ]
         (0,0.3 ], ( 0.3 ,0.6] , ( 0.6,1](0,0.3],(0.3,0.6],(0.6,1](0,0.3],(0.3,0.6],(0.6,1]
     (0,0.3],(0.3,0.6],(0.6,1](0,0.3],(0.3,0.6],(0.6,1](0,0.3],(0.3,0.6],(0.6,1]这三个区间的数分别是多少,则需要用到
if..elif
n1,n2,n3 = 0,0,0    #按照直觉理解即可
for i in x:
    if i>0.6 : n3 += 1
    elif i>0.3 : n2 += 1
    else: n1 += 1
print(n1,n2,n3)

for..in

的作用是遍历某个集合,而x本身也是一个集合,所以也可以接受遍历。

    本节需要记住的单词

    if, else, elif, for, +=,,耗时5分钟。

    4 函数

    如果想反复统计一组随机数的分布情况,显然不能每次都写一遍那么老长的代码,而是应该把代码封装到一个函数里面。
    def statis(x):
        xNum = 0
        for i in x:
            if i>0.5:
                xNum += 1
        return xNum
    在Python中,通过
    def
    新建一个函数,函数名字后的括号里是这个函数需要输入的变量。最后通过
    return
    来返回一个值。如果按照数学的那种表达式,以上代码差不多类似xNum=statis(x)这

    在建了一个函数之后,就可以调用了,本节用时5分钟,需要记住defreturn

    image.png

    5 数据结构

    我们刚刚说
    x
    是集合,这是不准确的。数学上的集合要求不能有重复元素,但x是随机生成的一个数组,所以并不能保证这一点。
    在本节,我们要弄懂python中最常用的5种数据结构:元组、列表、字典、集合、数组,同时要掌握python推导式,预计耗时15分钟。
    tpl = (1,2,3,4)     #此为元组tuple
    lst = [1,2,3,4,5]   #此为列表list
    dct = {"a":1, "b":2, "c":3} #此为字典dict
    st = {1,2,3,3}      #此为集合
    arr = np.array([1,2,3,4])   #此为数组

    image.png

    可以看到,尽管我们在新建集合的时候给了1,2,3,3

    ,但集合中没有重复元素,所以只剩下一个3。

      一句话区分这五种类型:

      • 只有数组np.array可以计算
      • 字典通过键值对(key-value)进行索引
      • 集合无重复元素,且不可索引
      • 元组可以作为字典的键,列表则不能。

      这五种数据类型的详细区别如下(这个其实用不着记)。

      image.png

      其中,可哈希暂时可理解为能够作为字典的key。

      所谓指针式

      是我乱取的一个名字,意思是可以像指针一样把元素取出来。其中,集合与字典因

      为元素不可重复,所以并没有什么变化。

      image.png

      至于可计算就比较容易理解了,例如+测试,字典和集合干脆就报错了,而元组、列表将+重载为合并,只有arr执行了加法操作。

      image.png

      6 字符串

      在字典中我们其实已经用过了字符串,在python中,用单引号或双引号来代表字符串,二者是等价的。

      x = 'abc'
      y = "abc"
      print(x==y) 
      因为引号被用于字符串的标志,所以如果想在字符串中输入引号,则需要转义,转移符号为
      \
      。又因为
      \
      用于转义,所以
      \
      也需要转义。
      print('\'')
      print('\\')
      print("\"")

      7 回到本地

      下载python,或者下载anaconda

      如果下载之后,可通过win+r,输入cmd进入命令行,输入python进入python环境。

      如果下载的是python,则通过pip isntall numpy安装numpy,总之其命令格式为pip install XXX;如果下载的是anacoda,则还可以通过conda install numpy来进行安装——当然,anaconda的基本环境已经安装了大部分常用包。

      如果把python的代码封装到一个.py格式的文件中,然后就可以通过python XX.py进行调用,并执行。

      8 命令行版2048小游戏

      按理说看到这里,并写到这里,就应该算是完成了入门,那么接下来就要用入门学会的知识,写一个命令行版的2048小游戏。

      2048的逻辑无非是操作4x4的方格,每个方格中有一个数,我们可以操作这些数字进行移动,如果两个相同的数字在我们的操作下相撞了,那么它们就可以合并了。

      而这个4x4的方格,无非是一个矩阵。

      我们的操作可以理解为输入字符,用wsad代表上下左右,y代表确定,n代表取消。

      python接收字符的函数是input,例如

      >>> x = input("input a number")
      input a number5
      >>> x
      '5'

      而创建矩阵,可以用np.zeros([4,4]).astype(int)

      ,表示创建一个

         

           

           

             

              4

             

             

              ×

             

             

              44

             

             

              ×

             

             

              44

             

             

              ×

             

             

              4

             

           

           

              4 × 4 4\times44×4

           

           

          4×44×44×4的全0矩阵,并化为整形。

        矩阵中只有16个元素,尽管循环效率低下,但足以满足人的操作速度了。

        如果读者从头到尾敲了所有的代码,那么如今必然有能力独立写出这样的程序。所以具体的代

        目录
        相关文章
        |
        2月前
        |
        存储 数据采集 人工智能
        Python编程入门:从零基础到实战应用
        本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
        |
        2月前
        |
        机器学习/深度学习 数据可视化 数据挖掘
        使用Python进行数据分析的入门指南
        本文将引导读者了解如何使用Python进行数据分析,从安装必要的库到执行基础的数据操作和可视化。通过本文的学习,你将能够开始自己的数据分析之旅,并掌握如何利用Python来揭示数据背后的故事。
        |
        1月前
        |
        存储 数据挖掘 数据处理
        Python Pandas入门:行与列快速上手与优化技巧
        Pandas是Python中强大的数据分析库,广泛应用于数据科学和数据分析领域。本文为初学者介绍Pandas的基本操作,包括安装、创建DataFrame、行与列的操作及优化技巧。通过实例讲解如何选择、添加、删除行与列,并提供链式操作、向量化处理、索引优化等高效使用Pandas的建议,帮助用户在实际工作中更便捷地处理数据。
        45 2
        |
        1月前
        |
        人工智能 编译器 Python
        python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
        python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
        41 0
        python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
        |
        2月前
        |
        Unix 编译器 C语言
        [oeasy]python052_[系统开发语言为什么默认是c语言
        本文介绍了C语言为何成为系统开发的首选语言,从其诞生背景、发展历史及特点进行阐述。C语言源于贝尔实验室,与Unix操作系统相互促进,因其简洁、高效、跨平台等特性,逐渐成为主流。文章还提及了C语言的学习资料及其对编程文化的影响。
        32 5
        |
        2月前
        |
        IDE 程序员 开发工具
        Python编程入门:打造你的第一个程序
        迈出编程的第一步,就像在未知的海洋中航行。本文是你启航的指南针,带你了解Python这门语言的魅力所在,并手把手教你构建第一个属于自己的程序。从安装环境到编写代码,我们将一步步走过这段旅程。准备好了吗?让我们开始吧!
        |
        2月前
        |
        测试技术 开发者 Python
        探索Python中的装饰器:从入门到实践
        装饰器,在Python中是一块强大的语法糖,它允许我们在不修改原函数代码的情况下增加额外的功能。本文将通过简单易懂的语言和实例,带你一步步了解装饰器的基本概念、使用方法以及如何自定义装饰器。我们还将探讨装饰器在实战中的应用,让你能够在实际编程中灵活运用这一技术。
        50 7
        |
        2月前
        |
        开发者 Python
        Python中的装饰器:从入门到实践
        本文将深入探讨Python的装饰器,这一强大工具允许开发者在不修改现有函数代码的情况下增加额外的功能。我们将通过实例学习如何创建和应用装饰器,并探索它们背后的原理和高级用法。
        55 5
        |
        2月前
        |
        机器学习/深度学习 人工智能 算法
        深度学习入门:用Python构建你的第一个神经网络
        在人工智能的海洋中,深度学习是那艘能够带你远航的船。本文将作为你的航标,引导你搭建第一个神经网络模型,让你领略深度学习的魅力。通过简单直观的语言和实例,我们将一起探索隐藏在数据背后的模式,体验从零开始创造智能系统的快感。准备好了吗?让我们启航吧!
        113 3
        |
        2月前
        |
        Python
        Python编程入门:从零开始的代码旅程
        本文是一篇针对Python编程初学者的入门指南,将介绍Python的基本语法、数据类型、控制结构以及函数等概念。文章旨在帮助读者快速掌握Python编程的基础知识,并能够编写简单的Python程序。通过本文的学习,读者将能够理解Python代码的基本结构和逻辑,为进一步深入学习打下坚实的基础。

        热门文章

        最新文章