[python 基础系列] 辅助函数,语法基础和变量

Posted GoldenaArcher

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[python 基础系列] 辅助函数,语法基础和变量相关的知识,希望对你有一定的参考价值。

本期的内容有几个部分:

  • 简单讲解如何使用 Jupyter notebook
  • 对新人友好的三个辅助函数
  • 语法基础
    • 表达式
    • 变量

之前的内容:

使用 Jupyter Notebook

Jupyter Notebook 是一个运行的网页页面,同时也是一个文档。使用 Jupyter Notebook 可以直接在上面运行代码,如:

同时 Jupyter Notebook 也继承了 markdown 的一些特性,因此可以使用简单的语法写出结构分明的文档。

在 Anaconda 已经安装好的前提下,运行 Jupyter Notebook 的方法非常简单。在 Anaconda Prompt/Powershell 中切换到指定的文档目录,随后运行 jupyter notebook 指令,就会开启 Jupyter Notebook 的服务器。

如:

# 切换文件目录
> cd jupyter
# 运行Jupyter Notebook
> jupyter notebook
[I 2021-08-24 21:22:13.617 LabApp] JupyterLab extension loaded from C:\\Users\\user\\anaconda3\\lib\\site-packages\\jupyterlab
[I 2021-08-24 21:22:13.617 LabApp] JupyterLab application directory is C:\\Users\\user\\anaconda3\\share\\jupyter\\lab
[I 21:22:13.625 NotebookApp] Serving notebooks from local directory: C:\\assignment\\jupyter
[I 21:22:13.627 NotebookApp] Jupyter Notebook 6.3.0 is running at:
[I 21:22:13.627 NotebookApp] http://localhost:8888/?token=3b7c14c3fb915aac6d9c9b5e8bf7d77cbbcf13689b55fe8c
[I 21:22:13.630 NotebookApp]  or http://127.0.0.1:8888/?token=3b7c14c3fb915aac6d9c9b5e8bf7d77cbbcf13689b55fe8c
[I 21:22:13.630 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 21:22:13.872 NotebookApp]

这样 Jupyter Notebook 的服务器就成功开启,而且只要该终端不被关闭,那么就算网页、浏览器被关闭了,对 Jupyter Notebook 做的操作也依旧会被保留。

Jupyter Notebook 的官网是:https://jupyter.org/index.html,如果有能力的话还是推荐看一下 Jupyter Notebook 的官方文档。因为虽然 Jupyter Notebook 集成了 markdown 的一些功能,但是 Jupyter Notebook 本身也往里面增添了一些新的功能与特性,包括不限于引用 CSS 和 javascript,所以使用 Jupyter Notebook 写 Markdown 能够有更高的自由度。

3 个辅助函数

不管是从学习还是排错的角度来说,都是非常有用的三个辅助函数。

print

print() 是在命令行输出,熟练掌握输出这项技能能够方便的输出参数、变量。

这里主要学习如何通过 print() 输出单行文字以及多行文字。

  • 单行文字

    # python3 的语法,python2 没有括号,不过鉴于 python2 的流行程度,应该是没有什么特别大的应用场景了
    print('hello world')
    
  • 多行文字

    1. 简单的使用多个 print() 指令

      可行,但是稍微有点麻烦:

      print('hello world')
      print('hello John')
      
    2. 使用换行符符 \\n 去进行换行

      # 直接在一个字符串中进行输出
      print('hello world\\nnew line')
      
      # 或使用逗号进行分割
      print('hello world\\n','new line')
      

      这也是一个方法,但是 ln1 的代码可读性会低一些。

      ln5 的代码又会因为逗号而产生多余的空格,效果上不尽如人意。

    注*:如果直接换行就会报错:

    print('hello
    world')
    

    如果想要换行,可以用折行符号来实现:

    # 折行符
    print('hello \\
      world')
    

    因此,也可以利用两两组合的方式产生想要的效果:

    print('hello world\\n\\
    new line')
    

type

type 是 python 自身的语法,可以返回参数的类型。鉴于 python 是一门不需要声明变量类型的动态语言,type 能提供的帮助也是非常大的。

?

? 是 Jupyter Notebook 自身所提供的功能,它能够根据 pydoc 弹出该函数的说明文档:

当然,如果之前有跟着上一篇文章 Jupyter Notebook - 使用 CSS 及开启代码提示 去配置代码提示功能,就会发现之前实现的代码提示功能,不仅包含函数名的提示,还包含 pydoc 的提示:

语法基础

这里包含的语法,基本上是所有编程语言通用的常见语法。

表达式

首先从常见的 表达式(expression) 说起:

表达式 -> 值(如数字 0-9,字符串,布尔值)

表达式 -> 值 操作符 值

常见的 运算符 包含 +, -, *, /, %, =,等。

  • 数值操作:

  • 字符串操作:

    这里有几个注意点:

    1. 对于字符串来说,+ 的作用是拼接字符串;* 的作用表示字符串重复几遍。但是 -/ 是无法作用在字符串中的。

      注意看,这里抛出的异常报错的原因是不支持在 字符串 上使用 /- 操作符:

    2. 这里一旦操作符前后的类型不一样,python 就会抛出异常提示开发者。

      注意看,这个报错信息说的是字符串上只能 拼接(concatenate) 字符串:

  • 等号操作符

    这里起到了赋值的作用:

    = 在 python 起到的是赋值的作用,如果要判断数字是否相等,可以用两个等号 == 来判断:

变量

变量的基本使用方法,以及 Jupyter Notebook 中所特别要注意的运算顺序问题。

变量的声明

python 的变量命名和其他的常见语言不太一样:

Java 的语法为:

public int priceOfCar = 10000;

JavaScript 现在饿主流语法为:

const priceOfCar = 10000;

而 python 的语法为:

price_of_car = 10000

相较而言 python 声明方式更加简单,它是一门动态语言,因此不需要像 Java 样指定类型,直接声明变量名即可,而且再之后的实现中,变量的类型是可改的:

除此之外,python 还是一门强类型语言,JavaScript 中可以不通过强制类型转换去,但是如果在 python 中这么操作就会报错:

之所以会提示字符串无法拼接整型,就是因为 python 的类型检查禁止了这个操作。

与 Java 和 JavaScript 相比,python 的命名规范也不太一样,前者使用的是驼峰命名法,即第二个单词的首字母大写;而 python 使用 _ 进行分割。

将值存到变量的最大好处就是可以在其他的地方继续使用,尤其是当计算量非常复杂的时候。

举个例子,假设需要将公里换算成英里,那就需要知道 1 k m = 0.621371 m i l e 1km = 0.621371 mile 1km=0.621371mile 这样一个公式。每次计算都复制一遍 0.621371 0.621371 0.621371 相对而言的就很麻烦,但是将 0.621371 0.621371 0.621371 存到变量中去计算就会方便很多:

km_to_mile_diff = 0.621371

# 3km 到 mile 的计算
mi1 = km_to_mile_diff * 3

#99km 到 mile 的计算
mi2 = km_to_mile_diff * 99
print(mi1)

在进行更加复杂的计算时,使用变量就会方便很多。

同样,为了方便阅读,变量名最好起有意义的名字,否则所有的变量名都是 a, b, c, x, y, z 之类的,一来很容易起冲突,二来意义不明确,无法一眼就看出来着个变量名是做什么的。

变量运行的先后顺序

这一部分是 Jupyter Notebook 的特性,因为在其他的程序中,除非进行特殊配置,否则代码基本都是按序执行。但是在 Jupyter Notebook 中,用户可以单独运行某一行,这个时候就会造成异常。

以上是关于[python 基础系列] 辅助函数,语法基础和变量的主要内容,如果未能解决你的问题,请参考以下文章

python 小白(无编程基础,无计算机基础)的开发之路 辅助知识4 .format

[Python入门到精通系列]-Python基础入门之函数

[Python入门到精通系列]-Python基础入门之函数

[Python入门到精通系列]-Python基础入门之函数

我奶奶都能看懂系列007☀️python基础语法——函数,小学生也可以学!

Python数据分析笔记系列:Python语法基础,IPython和Jupyter Notebooks