顾名思义,这是个人自学python的初始,基础篇当中的基础知识梳理。先自我介绍下写下这篇博客时我的python水平:自学python月余,主要做了三件事:
1.安装Aanconda 和 Pycharm;
2.买了本《Python编程从入门到实战》,同时在网上买了套python基础的视频教程;
3.结合视频教程开始看书,目前看到了第8章 函数。
所以,对于之前毫无编程经验的我来说,完全新手一枚。但是我相信,有志者事竟成,自己一定能将python拿下并转型成功;最关键的是我对此拥有相当的兴趣。
那么,闲话少说,下面开始直奔主题吧。
网上安装教程多如牛毛,记得当时看得两眼直冒金星,生生卡在安装这个环节“一天一夜”。后来总结其实每个教程都有自身优点,也怪我个人看得太多反而把事情想复杂了。
作为小白我肯定没有各位前辈大神发布的教程把整个安装以及环境搭建过程讲解交代的明白,所以,我就不献丑了。这里直接推荐两篇个人认为简洁易懂的图文教程(简单易用很重要,嗯,这是血泪总结!)。
其中,第一篇是讲Anaconda的安装以及安装后配置环境的详细步骤,第二篇是讲解Anaconda的使用以及配置方法。第一篇照做即可,至于第二篇看得懂就照做、看不明白就先放着也不影响下面的学习,等后面回过头来再看自然能够明白这都是些很基础而并不难理解的东西。
*资料一:Anaconda的安装及环境搭建
https://blog.csdn.net/qq_42543312/article/details/80805305
*资料二:Anaconda的使用及配置方法
https://blog.csdn.net/LEoe_/article/details/70544190
(前人栽树后人乘凉,这里感谢两位博主的分享!)
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中需要重点关注的是命名变量的规则,有以下几条(这是需要着重记忆的地方):
规则 | 示例 |
---|---|
变量名只能包含字母、数字和下划线 | 变量名可以字母或下划线打头,但不能以数字打头,例如,可将变量命名为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解释器会自动忽略#后面或者’’’ ‘’'中的内容。
看到这个标题你可能会跟我初看时一样满头雾水,冒号是什么鬼?是“尊敬的各位来宾:”,还是别的什么。国际惯例,先来看看例子。
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的切片非常灵活,一行代码就可以实现很多行循环才能完成的操作。对于这一点,刚开始学习的时候可能理解得不够深刻,但暂且记下来以后实际操作中再慢慢体会。
python内置了很多内置函数、类方法属性及各种模块。当我们想要当我们想要了解某种类型有哪些属性方法以及每种方法该怎么使用时,我们可以使用dir()函数和help()函数在python ide交互式模式下获得我们想要的信息。简单来说这两个函数就是来调取帮助说明的。“求人不如求己”,学会使用dir和help函数相当于手握两本大百科全书,“哪里不会查哪里”,非常方便。
其中,dir()用来查询一个类或者对象所有属性;help()函数帮助我们了解模块、类型、对象、方法、属性的详细信息。
这块理解这两个函数是干嘛用的就可以了,我看很多教程贴出大段的代码文字,觉得没有必要。且不说“内事不决问百度,外事不决问Google”,对于勉强过了英语四级的小白来说,啃下大段英文说明不见得比直接网络搜索来得便利快捷。
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就是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
python3中有六种基本数据类型:
Number(数字)
String(字符串)
List(列表)
Tuple(元组)
Set(集合)
Dictionary(字典)
在python中,Number型数据有分为四种,分别是Bool、Int、Float以及Complex。
数值类型 | 介绍 |
---|---|
Bool | 布尔型数据对象的取值范围只有两个值:True | False |
Int | 整型,也就是我们熟知的整数,可以是正整数也可以是负整数 |
Float | 浮点型数据类型对象占用64位内存空间,有十进制(.)和科学记数法(e)两种表示方式 |
Complex | 复数数据类型由一个实数和一个虚数的组合构成一个复数。一个复数是一对有序浮点型(x,y),表示为 x + yj,其中x为实数部分,y为虚数部分。 实数部分和虚数部分都是浮点型。 |