Python小白入门学习注意点

时间:2024-01-26 14:59:40

1. Python学习的参考网站

个人目前刚刚入门学习Python,但已经被这个语言的简洁性和它在数据分析方面的所能实现功能的强大性给深深吸引了。但想要学好一门语言,还得从基础的语法开始学起,但是网上的教程也有很多,个人目前基础语法的学习主要参考和推荐以下的两个网站:

  1. 菜鸟教程:https://www.runoob.com/python3/python3-tutorial.html
  2. 《Think Python 2e》:https://codingpy.com/books/thinkpython2/01-the-way-of-the-program.html#id2

注:相关的基础的语法都可以在以上的网站中可以查阅和学习,以下的学习笔记都是在Python3实际编程中所需要注意的知识点

2. 学习笔记

2.1 行与缩进

python最具特色的就是使用缩进来表示代码块,在if和while等语句中不需要使用大括号 {} 而依然可以表达逻辑。

下面一篇文章对Python的缩进做了一个较为详细的说明:关于 python 的缩进

如果缩进使用错误,解释器会抛出一个错误:“IndentationError: expected an indented block”,IndentationError释义就是行首缩进错误。

2.2 Python的程序入口

  1. Python是解释型的语言,一般直接在py文件中写代码也可以运行,不像C++或者Java这类编程语言必须要有一个main函数来作为程序的入口。而在Python中我们有时候也会看见:if __name__ == \'__main__\'这样的语句,这其实可以理解成Python的一个程序入口,它并没有统一的入口(因为直接写也可以运行)if __name__ == \'__main__\'这句话的意思可以理解成:当模块被直接运行时,以下代码块将被运行,当该模块是被导入时,代码块不被运行。要想了解详细的使用情况可以查看以下文章:Python 中的 if name == \'main\' 该如何理解

  2. 这里要再来稍微解释下“__name__”的含义:

    1. 在Python中可以将一些方法和变量定义存放在文件中,其后缀名是.py,这样的文件可以被称为模块,模块可以被别的程序引入,以使用该模块中的函数等功能。
    2. 每个模块都有“__name__”属性,这是模块的标识符,其值是模块的名称,在自身的模块中运行程序时,其值等于“__main__”

2.3 Python的注释和多行语句

  1. python中的单行注释以#开头,多行注释可以用三个单引号\'\'\'或者三个双引号""",注意:如果用在变量后面就是格式化输出了。Python中单引号,双引号,3个单引号及3个双引号的区别
  2. 多行语句,如果语句很长,可以使用反斜杠(\)来实现多行语句,但是在[],{},()中的多行语句则不需要使用反斜杠。

当我在写一个爬虫的时候,遇见了在字典数据中的多行语句:(在{}里面User-Agent的值有两行,并不需要使用反斜杠)

注:Python中一行的语句默认是没有符号的,但是如果要将多条语句写在一行中可以使用分号。

2.4 Python的函数

  1. 自定义的函数代码块由def关键字开头,函数内容以冒号起始,并且缩进。
def 函数名(参数列表):
    函数体
  1. 函数参数匹配问题:在调用时,如果使用关键字参数,则会允许函数被调用时参数的顺序与申明不一致。且如果是调用默认参数的函数,参数可以缺省:

2.5 Python类的定义

Python面向对象和其他语言的面向对象基本上是类似的,不过以下不同需要注意:

  1. 构造方法:Python类的构造方法名为__init__

  2. 类的方法与普通函数只有一个特别的区别---它们必须有一个额外的第一个参数名称,按照惯例为self,self代表类的实例,而非类本身。这有点像一般的面向对象类中的this?

#类定义 
class people: 
      #定义基本属性 
      name = \' \' 
      age = 0 
      #定义私有属性,私有属性在类外部无法直接进行访问
      __weight = 0
      #定义构造方法 
      def __init__(self,n,a,w): 
          self.name = n 
          self.age = a 
          self.__weight = w 
      def speak(self): 
          print("%s 说: 我 %d 岁。" %(self.name,self.age)) 
 
 
 # 实例化类 
 p = people(\'runoob\',10,30) 
 p.speak()

在实际中可以省去定义基本属性的步骤,如可以删去name=\'\' age = 0等定义变量语句

3. 总结

做为刚刚入门的Python小白,如果有点其它语言的基础相对来说入门会很简单,如果没有编程的基础想要学好一门语言还是得要更多的耐心和细心,相信在长久的坚持下一定可以取得进步的!