04python基础知识02

这一篇文章主要介绍函数、模块、运行python文件等知识。

函数

函数犹如小程序,可以用来执行特定的操作。Python本身提供了很多函数,我们称这些函数为内置函数。内置函数可以用于编写数值表达式

>>> abs(-10)
10
>>> 2 // 3 # 整除总是向下取整
0
>>> round(2 / 3) # round()
  • 使用函数的过程称为调用函数,调用函数的时候需要提供实参,调用的结果就是返回一个值,称为函数的返回值

模块

可认为模块是一种扩展,通过将其导入壮大Python功能。

导入模块的关键字为import

>>> import math
>>> math.floor(32.9) # 向下取整函数(floor的本意为地板,所以是向下取整)
32
>>> math.ceil(32.9)  # 向上取整函数(ceil的本意为天花板,所以是向上取整)
33
>>>
  • 首先使用 import导入模块,再使用 moudle.function的方式使用模块中的函数
  • floor()函数的功能是向下取整,再计算年龄的类似场景很有用
  • 一些类似的函数入str()、float()实际上是类的概念

如果只需要导入模块中的某个函数,使用from module import function格式,这种再使用的时候就不需要加上前缀了:

>>> from math import sqrt
>>> sqrt(9)
3.0
>>> foo = math.sqrt # 可以使用变量来引用函数
>>> foo(64)
8.0
>>>

复数

用函数sqrt计算负数的平方根会报错:

>>> from math import sqrt
>>> sqrt(-1)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: math domain error
>>>  
  • 这是因为负数的平方根为虚数,而函数sqrt限定值域为实数,并使用其近似的浮点数表示,所以无法计算负数的平方跟

实部虚部组成的数为复数,Python标准库提供了一个专用用于处理复数的模块:cmath

>>> import cmath # 注意这里不能使用 from ... import ... 的格式,否则将无法使用常规函数sqrt()
>>> cmath.sqrt(-1)
1j
>>>
>>> (1 + 3J) * (9 + 4j)
(-3+31j) # 从结果可以看出,python提供了对复数的支持
>>>
>>> type(1j)
<class 'complex'> # Python没有专门的表示虚数的数据类型,而是将虚数视为实部为0的复数
>>> type(10 + 6j) 
<class 'complex'>
  • 1j是个虚数,虚数都是以 jJ结尾。
  • 复数算术运算都基于如下定义:-1的平方根为 1j
  • Python没有专门的表示虚数的数据类型,而是将虚数视为实部为0的复数。

关于python文件的运行

交互式解释器的好处就是可以让你实时运行写完的代码,可以帮助学习者了解python的工作原理;但是它也有一个致命的缺点就是退出交互式解释器之后,编写的所有代码都会丢失。显然我们不可能每次工作都从头开始,因为我们的终极目标是编写自己和他人都能运行的程序。

那么我们就需要一个文本编辑器可以编写代码,然后保存成文件复用:

  • 打开IDlE,编写代码
  • 保存文件,文件拓展名务必为.py

命令提示符运行脚本:

  • 打开DOS窗口
  • 切换到Python可执行文件
  • 运行脚本文件

IDE运行脚本:

  • 找到文件并打开,运行文件:Run->Run Moudle
  • 查看运行的结果是否与预期一致

需要说明的是,如果要像运行其他程序一样执行Python脚本,需要再python文件的第一行加上 #!/usr/bin/env python, 这样可以保证脚本文件可以再安装了python的环境中运行。

有时候,还需要修改脚本的权限才可以运行:$ chmod a+x demo.py

注释

在Python中,井号(#)比较特殊:在代码中,井号后面到行尾的内容都将被忽略,称为注释。

注释让程序更容易理解,注释的基本原则就是言而有物,不要重复去讲通过代码很容易获得的信息,无用而重复的注释还不如没有。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:04python基础知识02 - Python技术站

(0)
上一篇 2023年4月2日
下一篇 2023年4月2日

相关文章

  • 09python字符串

    在05python字符串基础中我们已经大致介绍过字符串,知道如何创建字符串,以及如何使用索引和切片来访问字符串中的字符。这篇文章主要介绍如何使用字符串来设置其他值的格式(比如便于打印),并大致了解使用字符串方法可完成的重要任务,如拆分、合并和查找等。 字符串基本操作 字符串是一种序列,所以所有的标准序列操作都适用于字符串 索引 切片 乘法 成员资格检查 长度…

    Python开发 2023年4月2日
    00
  • 10python字典

    列表和字典的区别是列表可以通过索引来访问值,而字典可以通过名称来访问各个值。 字典这种数据结构称为映射(mapping),字典是Python中唯一内置映射类型,值不按照顺序排列,而是存储再键下面。其中键可以是数字、字符串或元组等不可变数据类型。 字典的用途 字典的名称指出了这种数据结构的用途。日常生活中的字典和Python中的字典都能够轻松的通过单词(键)获…

    Python开发 2023年4月2日
    00
  • 07python列表

    这篇文章主要介绍列表的一些知识。 函数list 首先需要说明的是,列表与元组、字符串一样都是一种序列,但不同的是列表是可变的,即可修改其内容。 因为不能像修改列表那样修改字符串,所以有些情况下使用字符串来创建列表很有帮助,函数list可以用来创建列表。 >>> list(‘hello’) [‘h’, ‘e’, ‘l’, ‘l’, ‘o’] …

    Python开发 2023年4月2日
    00
  • 08python元组

    这一篇问文章主要介绍元组的相关知识。 元组:不可修改的序列 与列表一样,元组也是序列,唯一的差别在于元组是不能修改的(同样的,字符串也不能修改)。 元组的语法很简单。 >>> >>> 1, 2, 3 (1, 2, 3) >>> (1, 2, 3) (1, 2, 3) >>> >&g…

    Python开发 2023年4月2日
    00
  • 02python快速上手

    这一篇是环境准备,主要是说明如何安装Python和运行交互式环境。 安装和运行交互式解析器 如果你使用的是MacOS和Linux/UNIX机器的话,大部分都默认安装了Python,不过需要注意的是系统自带的Python都是比较老的Python2.x。我们可以在提示符下输入python命令进行验证是否安装。 linux系统信息: [zpl@localhost …

    Python开发 2023年4月2日
    00
  • 06python序列

    数据结构是Python中一个很重要的概念,是以某种方式(如通过编号)组合起来的数据元素(如数字、字符乃至其他数据结构)的集合。 在Python中,最基本的数据结构是序列(sequence)。 序列中的每个元素都有编号,及其位置或索引,其中的第一个元素的索引为0,第二个元素位的索引为1,依此类推 在有些编程语言中,从1开始给序列中的元素编号,但从0开始指出相对…

    Python开发 2023年4月2日
    00
  • 03python基础知识01

    这一篇文章主要介绍一些python的基础知识,包括算法、数字和表达式、变量、语句、获取用户输入等。 什么是算法 什么是计算机编程呢?简单的来说,计算机编程就是告诉计算机如何做。 而算法只不过是流程或菜谱的时髦说法,详尽的描述了如何完成某项任务,以便于计算机更好的执行。 例如下面的菜谱,鸡蛋火腿肠: 先取一些火腿肠 再加些火腿肠和鸡蛋 如果喜欢吃辣,加些辣味火…

    Python开发 2023年4月2日
    00
  • 05python字符串基础

    这一篇文章主要介绍python字符串相关知识。 单引号字符串及对单引号的转义 字符串(String)就是一段文本,几乎在所有的Python程序中都有字符串的身影。 字符串可以用单引号表示,也可以用双引号表示,但是输出一般为单引号: >>> ‘Hello World!’ ‘Hello World!’ >>> >>…

    Python开发 2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部