返回顶部
首页 > 资讯 > 后端开发 > Python >初窥Python门缝了解入门路径
  • 229
分享到

初窥Python门缝了解入门路径

2024-04-02 19:04:59 229人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录1 环境配置与基本运算2 调用各种包3 判断、循环4 函数5 数据结构6 字符串7 回到本地8 命令行版2048小游戏此之谓入门,其标准是,在不计效率的情况下,可以使用这门语言实

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

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

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

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

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

接下来,快速入门Python。

1 环境配置与基本运算

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

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

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

在这里插入图片描述

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


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

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

在这里插入图片描述

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

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

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

在这里插入图片描述

2 调用各种包

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


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

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

在这里插入图片描述

如果想通过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给我们

在这里插入图片描述

本节需要记住的单词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]这三个区间的数分别是多少,则需要用到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

在这里插入图片描述

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])   #此为数组

在这里插入图片描述

可以看到,尽管我们在新建集合的时候给了1,2,3,3,但集合中没有重复元素,所以只剩下一个3。

一句话区分这五种类型:

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

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

索引方式 可计算 可哈希 元素可重复 指针式
tuple tpl[0] *
list lst[0] *
dict dct["a"] **
set *
np.array arr[0]

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

所谓指针式是我乱取的一个名字,意思是可以像指针一样把元素取出来。其中,集合与字典因为元素不可重复,所以并没有什么变化。

在这里插入图片描述

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

在这里插入图片描述

在python中,可通过len来获取这些数据结构的长度。

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 × 4 4\times4 4×4的全0矩阵,并化为整形。

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

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

到此这篇关于初窥Python门缝了解入门路径的文章就介绍到这了,更多相关Python 入门内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 初窥Python门缝了解入门路径

本文链接: https://lsjlt.com/news/155308.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 初窥Python门缝了解入门路径
    目录1 环境配置与基本运算2 调用各种包3 判断、循环4 函数5 数据结构6 字符串7 回到本地8 命令行版2048小游戏此之谓入门,其标准是,在不计效率的情况下,可以使用这门语言实...
    99+
    2024-04-02
  • RxSwift(一)初窥门径
    前言 这几天学习了一些关于响应式框架的知识,由于 Combine 不支持 iOS13.0以下,所以先学习他的前辈 RxSwift 记录一下。 什么是 RxSwift? RxSwift 是一个 Rx 基...
    99+
    2023-09-08
    rxswift swift ios
  • 6.Python初窥门径(小数据池,集合
    Python(小数据池,集合,深浅拷贝) 一.小数据池 什么是小数据池 小数据池就是python中一种提高效率的方式,固定数据类型,使用同一个内存地址 小数据池 is和==的区别 == 判断等号俩边的值是否相同 is 判断两个内存地址是...
    99+
    2023-01-31
    门径 数据 Python
  • 13.django入门01(django入门初探视图,模板,路由)
    一、django的基本使用流程。pip install django #安装django创建一个project: django-admin startproject mysite---mysite...
    99+
    2024-04-02
  • Python入门学习路线
    Python技术路径中包含入门知识、Python基础、Web框架、基础项目、网络编程、数据与计算、综合项目七个模块。路径中的教程将带你逐步深入,学会如何使用 Python 实现一个博客,桌面词典,微信机器人或网络安全软件等。完成本路径的基...
    99+
    2023-01-30
    入门 路线 Python
  • Python入门到实践-了解Pytho
    关于Python的发展,及Python的历史概述我这里将不会浪费时间和大家介绍,因为我觉得能够借用搜索引擎搜索到的知识大家就竟可能的自己动手动脑去了解和认知,我主要就讲讲Python的一些基本的特性及版本的选择相关知识: 特性 解释性...
    99+
    2023-01-31
    入门 Python Pytho
  • 初学者怎样入门Python呢
    初学者怎样入门Python呢,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。初学者怎样入门Python人生苦短,我用Python!!!短短几个字,现在在各大学习类平台随处可见...
    99+
    2023-06-02
  • Python Matplotlib初阶使用入门教程
    目录0. 前言1. 创建Figure的两种基本方法1.1 第1种方法1.2 第2种方法2. Figure的解剖图及各种基本概念2.1 Figure2.2 Axes2.3 Axis2....
    99+
    2024-04-02
  • Python爬虫入门:爬虫基础了解
    Python爬虫入门(1):综述 Python爬虫入门(2):爬虫基础了解 Python爬虫入门(3):Urllib库的基本使用 Python爬虫入门(4):Urllib库的高级用法 Python爬虫入门(5):URLError异常...
    99+
    2023-01-30
    爬虫 入门 基础
  • Python 正则表达式入门(初级篇)
    引子 首先说 正则表达式是什么? 正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计...
    99+
    2022-06-04
    入门 正则表达式 Python
  • Python爬虫入门(一)(适合初学者)
    Python爬虫入门(一) (适合初学者) 关于爬虫是什么,怎样保证爬虫的合法性小编在这就不再过多的阐述,从本章起,小编将和大家一起分享在学习python爬虫中的所学,希望可以和大家一起进步,也希望各...
    99+
    2023-09-02
    爬虫
  • android 注解入门(Acitivity路由demo)
    参考《Java编程思想》 概述 近期接触了路由和模块间通信的内容,发现Java注解非常常用。 避免后面看各源码被其阻塞,大致了解了下,作此文记录之。 注解类型 @Target @Retention @Documented @Inhe...
    99+
    2022-06-06
    注解 demo Android
  • python 学习之路1-如何入门
    过去20年,我一直有一个想法就是学一门编程语言,可惜一直没有实现。C我看过,C++也看过,PHP了解过,最后是的没有最后。。。。。 回望过去简单说就是没有懂到底学习了什么,也无法把学习到的知识应用到实际,然后往开发走,所有我...
    99+
    2023-01-31
    之路 入门 python
  • 从入门到精通:Python和Bash编程算法的学习路径。
    从入门到精通:Python和Bash编程算法的学习路径 在今天的计算机科学领域,编程算法是一个不可或缺的部分。Python和Bash编程是两个最受欢迎的编程语言。本文将介绍从入门到精通Python和Bash编程算法的学习路径,并提供一些演示...
    99+
    2023-06-24
    bash 编程算法 编程算法
  • python库h5py入门详解
    目录h5py简单介绍1.创建一个h5py文件2.创建dataset数据集3.创建group组本文只是简单的对h5py库的基本创建文件,数据集和读取数据的方式进行介绍,作者刚接触h5p...
    99+
    2024-04-02
  • 【第38天】不同路径数问题 | 网格 dp 入门
    本文已收录于专栏 🌸《Java入门一百例》🌸 学习指引 序、专栏前言 一、网格模型 二、【例题1】 1、题目描述 2、解题思路 3、模板代码 4、代码解析 5.原题链接 ...
    99+
    2023-08-19
    算法 c++ 蓝桥杯 java
  • 深入了解golang这门语言
    随着计算机科学的迅速发展,计算机编程也成为了当今世界不可或缺的部分。在过去的几十年里,许多编程语言都发展得十分迅速,如C语言,Java语言等等,但是,在最近的几年里,一门新的编程语言正在崛起,那就是Go语言,也称为Golang。本文将介绍这...
    99+
    2023-05-14
    go语言 Golang
  • 如何简单了解pythonp-入门
    这篇文章给大家介绍如何简单了解pythonp-入门,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。简单了解pythonPython语言特色 Python是一门解释性语言解释性语言:在系统中运行时需要使用解释器(如:php...
    99+
    2023-06-02
  • 2019最全Python入门学习路线,绝
    近几年Python的受欢迎程度可谓是扶摇直上,当然了学习的人也是愈来愈多。一些学习Python的小白在学习初期,总希望能够得到一份Python学习路线图,小编经过多方汇总为大家汇总了一份Python学习路线图。 对于一个零基础的想学习pyt...
    99+
    2023-01-31
    最全 入门 路线
  • 深入了解Angular(新手入门指南)
    项目目录结构|-- project |-- .editorconfig // 用于在不同编辑器中统一代码风格 |-- .gitignore // git中的忽略文件列表 |-- README.md // markdown格式的说明文件...
    99+
    2023-05-14
    Angular Angular.js
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作