快速入门Python3并使用(连载中...)

python3.8.6和VScode的安装

我的电脑已经安装过了,就不重复安装了,这里从csdn上找几篇文章里面的图片,给大家简述一下流程。

Python有自己专属的IDE------PyCharm,不过我电脑上已经安装了VSCode,所以就用VSCode来开发了,而且自己也习惯这种黑色了,是的,这是一种深沉的黑色,Just like me ...

进入python网站:Python Releases for Windows | Python.org这里直接给出适用于Windows的python网站了

如果整个过程较慢,请百度如何科学上网......

一共五步,记得勾选自动添加环境变量,除非你想手动配置

python3基础语法

太简单的东西就不赘述了,我的建议是菜鸟编程,这里附上网址。Python3 教程 | 菜鸟教程 (runoob.com) 下面重点说一下掌握C/C++之后,如何快速学习python。

我前两天刚开始写python时,我的内心:这东西怎么写起来这么别扭呢???

现在:python也叫编程语言??小小python,直接拿下!

当你粗略浏览任何一本关于python的书或者是教程,你会发现相比于C/C++这种语法要求严格的编程语言,python显得非常灵活甚至是随意,只用缩进就表达了语句的作用域。同时,python还省去了类型说明而是让系统自己去识别,这类似C++中的auto关键字,而在python中,auto关键字都不用写,这简直太爽了,所有代码都是为了逻辑实现,高效开发到了极致,学习门槛也低到了极致。

我这两天工作因要帮助隔壁项目组做大数据分析,临时学习了这门语言并感受到了它的强大。丰富的开源库和简单的使用方式,让一切程序开发都变得简单,这些库适用于不同的场景。python牛逼,开源精神牛逼!

对于大多数同学来说,接触的第一门编程语言一般是C/C++,这部分就简述C/C++和python的区别,让读者快速掌握python基础。

C/C++和python的区别

C语言面向过程,而Python和C++都是面向对象的。

Python是脚本语言,脚本语言不需要编译,直接解释执行,由解释器来负责解释。程序代码即是脚本程序,也是可执行文件,只需要编写-运行。 C/C++是编译型编程语言,需要编译成二进制代码,以可执行文件形式运行,需要经过编写-编译-链接-运行的过程。

先来hello world 一下,谁复杂,谁简单,一眼便知

python:

bash 复制代码
# python中使用#进行单行注释
print("hello world\n")

C:

arduino 复制代码
#include <stdio.h>//引入头文件
int main()//主函数入口,C/C++标准中规定了main函数不能使用void作为返回类型
{
    printf("hello world\n");
}

这里提一点,如果有同学在学习单片机时遇到void main () {}的情况,记得注意一下,这是错误的

C++:

arduino 复制代码
#include <iostream>//引入头文件
using namespace std;//引入命名空间
int main()
{
    cout<<"hello world\n";
    //std::cout<<"hello world\n";//如果不使用命名空间,则必须使用std作用域
}
python C/C++
import cmath 导入模块,每一个.py文件都可以认为是一个模块。Python中导入的模块可以是类的定义,函数的定义 #incluce 引入头文件,头文件为类或函数的声明。C++支持分离式编译,对源文件分别编译成目标文件,再链接生成可执行文件。通过头文件把源文件关联起来。
不需要声明数据类型,系统自动识别 需要声明,数据类型代表内存分配,要求严格
一切皆对象(数据类型、函数、类都是对象)。对象包含identity(Python中即为对象的内存地址,一旦创建不再改变)、类型信息、值、引用计数(用于记录当前有多少个变量在引用这个对象。一旦引用计数器为0,那么该对象就会被系统自动回收) 一块能存储数据并具有某种类型的内存空间
每一行都是单独的语句,不需要分号作为结束的标志。当一行语句需要分开时,用 \连接,在 [], {}, 或 () 中的多行语句,不需要使用反斜杠 \,系统会自动识别 需要分号作为语句结束的标志
用 : 和缩进来表示作用域 用( )和{ }表示作用域
注释用#和''',vscode中的快捷键是 ctrl + / 注释用//和/* */
没有引用 有引用&,&运算符重载,既可以代表引用,又可以代表取地址,视语境决定
没有指针,万物皆对象,通过解运算符使用类的方法 指针就是C/C++的灵魂,有点复杂
python中的数组叫列表list,而列表中的数据类型可以不同,所以严格意义上来说,列表并不等同于C/C++中的数组 数组必须声明元素个数或者直接赋值,目的是确定数组占用的内存大小,数组不能动态分配内存,数组的元素类型必须相同,比如有整形数组、浮点型、指针数组等,这里还涉及到内存对齐的问题,就不过多赘述
单引号和双引号都能表示字符串和字符,差别不大 单引号表示字符,双引号表示字符串

python中的重要特性

缩进

python 复制代码
if True:
    print ("Answer")
    print ("True")
else:
    print ("Answer")
  print ("False")    # 缩进不一致,会导致运行错误

这里补充一嘴,print ("False")要么就别缩进,要么就和上面的语句保持一致,缩进多了、少了,都会出错,所以说,不要站在尴尬的位置,不然没人要...

单引号、双引号、三引号

Python中单引号,双引号,3个单引号及3个双引号的区别_python 单引号 双引号 区别-CSDN博客

博主写的很好,我就不多说了,抛砖引玉即可

字符串运算符

控制流

切片(顾头不顾尾)

这个示例来自菜鸟教程,我们在这里分析一下,感受切片这个功能的强大。

上面说Python中万物皆对象,我们现在就把一个字符串当成一个对象,现在给这个对象来一刀(怎么感觉怪怪的...)是不是就把它劈成两半了?(好像更怪了...)而Python中更狠,给对象一刀劈了三瓣,这里的冒号就是一把刀,在冒号左侧的数字处劈了一刀,右侧数字处又劈了一刀,留下了中间那部分,如果没有数字,那就说明没劈,这样就保留了头部(或者尾部,或者头部和尾部...)

不过还要注意list的下标从0开始,所以左侧是2的话,说明从第三个开始输出,当然你要是认为在第二个之后劈了一下,然后0、1、2全扔了,保留了第三个和后面的元素,那也行,可谓是不谋而合!这种想法其实更不容易出错。 print(str[2:5]) # 输出从第三个开始到第六个的字符(不包含) 以这行代码为例,在第二个之后劈了一下,在第五个之后劈了一下,留下的是第3、4、5,一共三个元素

如果有步长要求,可以理解为在保留下来的那部分里面又选取了一次

如果用反向索引,看现在这个例子,在第一个元素之后劈了一刀,在倒数第二个元素之前劈了一刀,注意这里是之前,而不是之后。慢慢体会吧~

list = ['Google', 'Runoob', "Zhihu", "Taobao", "Wiki"]

list[1:-2]: ['Runoob', 'Zhihu']

这样一看,切片是不是就相当于把for循环直接写进[:]中了??真是很有想象力的创造

列表list

大家有没有发现,python中的list非常像C++中的vector,因为他们有类似的方法,但list又方便在不同元素的类型可以不同

反向索引:(图源菜鸟编程)

先说明一下,图片中的tup1是元组。Python 的元组与列表类似,不同之处在于元组的元素不能修改。 元组使用小括号 ( ),列表使用方括号 [ ]。

观察图片,正向索引从0开始,反向索引从-1开始。这个反向索引就非常方便了,我们之前在C/C++是不能直接找到数组中倒数的某个元素的,必须先计算得到数组存放了多少元素,python中就省去了这一步。

字典:

Python内存管理与垃圾回收机制

python自动化

添加配置文件,快速下载各种开源库

我们之前提到,python牛逼就牛逼在它丰富的使用场景,而这一点就来自于各种强大的丰富的开源库。这部分python自动化使用的著名的数学库Numpy和Pandas

我们先安装Pandas库,一般大家在初次安装时都会出现报错的情况。图源自csdn

这里简述一个一劳永逸的方法。

pip.txt文件中的内容如下,这里使用的清华源的镜像,大家用阿里、中科大的都行

ini 复制代码
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=mirrors.aliyun.com

完成这项配置后就可以快速安装各种开源库了。

快速学习Pandas库

python爬虫

相关推荐
bellus-2 分钟前
ubuntu26测试win10的ollama大模型性能
python
水木流年追梦4 分钟前
大模型入门-Reward 奖励模型训练
开发语言·python·算法·leetcode·正则表达式
JavaWeb学起来4 分钟前
Python学习教程(六)数据结构List(列表)
数据结构·python·python基础·python教程
liuyunshengsir17 分钟前
PyTorch 动态量化(Dynamic Quantization)
人工智能·pytorch·python
电子云与长程纠缠26 分钟前
UE5制作六边形包裹球体效果
开发语言·python·ue5
DFT计算杂谈35 分钟前
KPROJ编译教程
java·前端·python·算法·conda
念恒123061 小时前
Python(循环中断)
开发语言·python
tsfy20031 小时前
Python 处理中文文件名的3个坑(附 Flask 上传解决函数)
开发语言·python·flask·文件上传·中文编码
AI技术控2 小时前
KV Cache 缓存机制的原理和应用:从 Transformer 推理到大模型服务优化
人工智能·python·深度学习·缓存·自然语言处理·transformer
vx-程序开发2 小时前
基于机器学习的动漫可视化系统的设计与实现-计算机毕业设计源码08339
java·c++·spring boot·python·spring·django·php