Python基础01|环境搭建,基础讲解,基本数据类型之数字

开篇语

顾名思义,这是个人自学python的初始,基础篇当中的基础知识梳理。先自我介绍下写下这篇博客时我的python水平:自学python月余,主要做了三件事:
1.安装Aanconda 和 Pycharm;
2.买了本《Python编程从入门到实战》,同时在网上买了套python基础的视频教程;
3.结合视频教程开始看书,目前看到了第8章 函数。
所以,对于之前毫无编程经验的我来说,完全新手一枚。但是我相信,有志者事竟成,自己一定能将python拿下并转型成功;最关键的是我对此拥有相当的兴趣。
那么,闲话少说,下面开始直奔主题吧。

环境搭建

anaconda环境配置

网上安装教程多如牛毛,记得当时看得两眼直冒金星,生生卡在安装这个环节“一天一夜”。后来总结其实每个教程都有自身优点,也怪我个人看得太多反而把事情想复杂了。
作为小白我肯定没有各位前辈大神发布的教程把整个安装以及环境搭建过程讲解交代的明白,所以,我就不献丑了。这里直接推荐两篇个人认为简洁易懂的图文教程(简单易用很重要,嗯,这是血泪总结!)。
其中,第一篇是讲Anaconda的安装以及安装后配置环境的详细步骤,第二篇是讲解Anaconda的使用以及配置方法。第一篇照做即可,至于第二篇看得懂就照做、看不明白就先放着也不影响下面的学习,等后面回过头来再看自然能够明白这都是些很基础而并不难理解的东西。
*资料一:Anaconda的安装及环境搭建
https://blog.csdn.net/qq_42543312/article/details/80805305
*资料二:Anaconda的使用及配置方法
https://blog.csdn.net/LEoe_/article/details/70544190
(前人栽树后人乘凉,这里感谢两位博主的分享!)

解释器

  • 什么是解释器?
    简单理解就是,把你写的代码翻译成电脑能听明白的话,解释器就干这个活。对于编程小白来讲,我一直认为程序员是通过编程语言跟电脑直接沟通的,这缘于我对编程的认知始终停留在DOS阶段。。当然现在搞明白了完成不是那么回事。编程语言再怎么讲也是(或类似)一种自然语言,对于电脑所使用二进制机器语言,两者之间的差距大于牛哞与羊咩。因此想在两者之间搭建桥梁,产生互动,进行交流就需要一个“中介”。解释器就起到这个“中介”的作用。
    对于python解释器来说,“解释器由一个编译器和一个虚拟机构成,编译器负责将源代码转换成字节码文件,而虚拟机负责执行字节码。
    所以,解释型语言其实也有编译过程,只不过这个编译过程并不是直接生成目标代码,而是中间代码(字节码),然后再通过虚拟机来逐行解释执行字节码。”
    等等!编译器是什么鬼?慢慢解释给你听。
  • 解释器和编译器的异同?
     解释器是逐条的解释执行源语言,比如php,postscritp,javascript就是典型的解释性语言,当然还有我们目前正在学习的python。换句话说,解释器是一边翻译一边干活,听见一个命令执行一项任务,然后不断循环。
     而编译器是把源代码整个编译成目标代码,执行时不在需要编译器,直接在支持目标代码的平台上运行,这样执行效率比解释执行快很多。比如C语言代码被编译成二进制代码(exe程序),在windows平台上执行。这个比较好理解,就好比是“一揽子计划”,编译器把源码翻译成目标代码后其任务就算完成了,剩下就交给支持目标代码的平台去干了。
     编译器更像是一个纯粹的翻译官,解释器有点贴身保姆的感觉。
     下图是大神总结的两者间的异同(先不求甚解的看看就行):
     在这里插入图片描述
  • 现存python解释器的种类有哪些?
    搞明白上面两个问题,基本就算是对编程这回事有了初步认知。现存python解释器的种类就不详细讲了,这里只是罗列如下:
    CPython
    这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。CPython是使用最广的Python解释器。教程的所有代码也都在CPython下执行。
    IPython
    IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。
    CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。
    PyPy
    PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。
    绝大部分Python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。如果你的代码要放到PyPy下执行,就需要了解PyPy和CPython的不同点。
    Jython
    Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。
    IronPython
    IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的
    Python解释器,可以直接把Python代码编译成.Net的字节码。
    (感谢作者:IPI715718)

python初体验

print('Hello,world!')
print('1024*768=',1024 * 768)

name=input('please enter your name:')
print('hello',name)

print('I really enjoy',' learning on the',' datawhale platform.' )

print和input,两者分别表示输出和输入。我理解为这是python自带的两个函数,前者是将你想要的内容显示在屏幕上(输出),后者是将你想让用户输入的内容记录下来(输入)放到一个变量里,如上例中name。
很多教程说,如果你敲下的第一行代码是‘hello,world!’将会为你带来好运!你可以尝试下哦!

python基础讲解

python变量特性及规则

python中所谓的变量就是你所理解的那个变量,这个初中时候就学过了,这里不再赘述,不过需要强调的是,在编程中变量不仅可以是数字,还可以是任意数据类型(数据类型下面会讲到)。
在python中需要重点关注的是命名变量的规则,有以下几条(这是需要着重记忆的地方):

规则示例
变量名只能包含字母、数字和下划线变量名可以字母或下划线打头,但不能以数字打头,例如,可将变量命名为message_1,但不能将其命名为1_message。
变量名不能包含空格,但可使用下划线来分隔其中的单词例如,变量名greeting_message可行,但变量名greeting message会引发错误。
不要将Python关键字和函数名用作变量名即不要使用Python保留用于特殊用途的单词,如print
变量名应既简短又具有描述性例如,name比n好,student_name比s_n好,name_length比length_of_persons_name好。
慎用小写字母l和大写字母O因为它们可能被人错看成数字1和0。

PS:还有一条小技巧,在python尽量使用小写命名变量。不是说用大写就是错的,但避免使用大写肯定没坏处。至于原因我觉得跟python对大小写比较敏感有关系。姑且先记下来。

注释方法

python常用单行注释是#,常用多行注释是三对单引号’’’ ‘’’。至于注释干嘛用的,看看下面的例子就明白了:

#我的第一行python代码
'''我的第一行python代码
你好,世界!'''
print('hello,world!' )

注释的作用是用来说明下面代码是干嘛的以及如何干活的;至于原理嘛,就是python解释器会自动忽略#后面或者’’’ ‘’'中的内容。

python中": "作用

看到这个标题你可能会跟我初看时一样满头雾水,冒号是什么鬼?是“尊敬的各位来宾:”,还是别的什么。国际惯例,先来看看例子。

def my_abs(x):
    if x >= 0:
        return x
    else:
        return -x

这段代码的意思是定义一个名为‘my_abs(x)’的函数,当x大于等于0时返回其本身的值,否则就返回它的相反数。我们可以看到这段代码中有两个“:”,一个是在def 代码行后面,另一个是在if代码行后面。显而易见,在这里“:”跟我们通常的用法是比较类似的,冒号后面的内容表示的是其发挥作用的范围,比如def代码行是命名一个函数,冒号后面的内容表示函数具体的逻辑运算过程。
看到这儿,你可能一脸狐疑,就这么简单?当然不是。在python中:还有个重要作用就是切片操作。比如说有个任务要求从0-99中提取前10个数,怎么做?笨办法是从0开始挨个数,数10个数,比如(0,1,2,3,4,5,6,7,8,9);不笨的办法是“上切片”,写成代码就是(0:10).

L=list(range(100))
print(L[:10])
print(L[0:10:2])

以上两行分别表示提取前10个数和在前10个数中每两个取一个。输出结果如下:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 2, 4, 6, 8]

Python的切片非常灵活,一行代码就可以实现很多行循环才能完成的操作。对于这一点,刚开始学习的时候可能理解得不够深刻,但暂且记下来以后实际操作中再慢慢体会。

学会使用dir()及和help()

python内置了很多内置函数、类方法属性及各种模块。当我们想要当我们想要了解某种类型有哪些属性方法以及每种方法该怎么使用时,我们可以使用dir()函数和help()函数在python ide交互式模式下获得我们想要的信息。简单来说这两个函数就是来调取帮助说明的。“求人不如求己”,学会使用dir和help函数相当于手握两本大百科全书,“哪里不会查哪里”,非常方便。
其中,dir()用来查询一个类或者对象所有属性;help()函数帮助我们了解模块、类型、对象、方法、属性的详细信息。
这块理解这两个函数是干嘛用的就可以了,我看很多教程贴出大段的代码文字,觉得没有必要。且不说“内事不决问百度,外事不决问Google”,对于勉强过了英语四级的小白来说,啃下大段英文说明不见得比直接网络搜索来得便利快捷。

import使用

python之所以强大,一个重要原因就是其有大量的三方库可以调用,而且简单易行、方便灵活——直接使用import导入就好了。
通常import引用的对象为模块(module)与包(package):
模块(module)通常为一个文件,直接使用import来导入就好了。可以作为module的文件类型有".py"、".pyo"、".pyc"、".pyd"、".so"、".dll"。
包(package)通常总是一个目录,可以使用import导入包,或者from + import来导入包中的部分模块。包目录下为首的一个文件便是 init.py。然后是一些模块文件和子目录,假如子目录中也有 init.py 那么它就是这个包的子包了。
对于详细解释import有兴趣的同学可以参考以下两篇资料:
*资料三:Import详解-初级
https://blog.csdn.net/appleheshuang/article/details/7602499
*资料四:Import详解-进阶
https://blog.csdn.net/weixin_38256474/article/details/81228492

pep8介绍

一句话介绍pep8就是python的编码规范。所有python语言都基于pep8敲出来的。不过话又说回来了,python写得不规范是不是就运行不了呢?不见得。
记得上初中那会,中考前一个月家里给找来一位老师给我辅导数学,让我印象深刻的是那位老师告诉我,写二次方程式的时候把每行方程后面的标点符号也写上,因为教材课本中就是这么写的,肯定错不了。这样写的好处不是提高做题的正确率,而是以规范的书写给评卷老师留下良好印象。
所以,你未必要完全按照pep8的规范要求来写python代码,但是需要明确的是,如果你想精通python,从一开始就按照pep8规范来写你的代码,这一件必不可少的事情。
同样奉上两篇参考资料,一篇PEP8原版的中文翻译,理解掌握为主,另一篇是介绍Autopep8这个python自动排版神器的安装及使用,懒人的福音哦!参考资料如下:
*资料五:Python PEP8 编码规范中文版:
https://blog.csdn.net/ratsniper/article/details/78954852#source-file-encoding-源文件编码
*资料六:Autopep8的使用:
https://www.cnblogs.com/wuyongcong/p/9066531.html

python基本数据类型

python3中有六种基本数据类型:

Number(数字)
String(字符串)
List(列表)
Tuple(元组)
Set(集合)
Dictionary(字典)

数值类型(Number)

在python中,Number型数据有分为四种,分别是Bool、Int、Float以及Complex。

数值类型介绍
Bool布尔型数据对象的取值范围只有两个值:True | False
Int整型,也就是我们熟知的整数,可以是正整数也可以是负整数
Float浮点型数据类型对象占用64位内存空间,有十进制(.)和科学记数法(e)两种表示方式
Complex复数数据类型由一个实数和一个虚数的组合构成一个复数。一个复数是一对有序浮点型(x,y),表示为 x + yj,其中x为实数部分,y为虚数部分。 实数部分和虚数部分都是浮点型。

数值运算符

  • 算数运算符
    在这里插入图片描述

  • 比较运算符
    在这里插入图片描述

  • 赋值运算符
    在这里插入图片描述

  • 位运算符
    按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下:
    下表中变量 a 为 60,b 为 13,二进制格式如下:
    在这里插入图片描述

  • 逻辑运算符
    在这里插入图片描述

  • 成员运算符
    在这里插入图片描述

  • 身份运算符
    在这里插入图片描述

  • 运算符优先级
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值