首页 > 编程语言 >04python基础知识02

04python基础知识02

时间:2022-11-11 13:44:19浏览次数:40  
标签:02 函数 Python sqrt 基础知识 python 04python import math

这一篇文章主要介绍函数、模块、运行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中,井号(#)比较特殊:在代码中,井号后面到行尾的内容都将被忽略,称为注释。

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

标签:02,函数,Python,sqrt,基础知识,python,04python,import,math
From: https://www.cnblogs.com/palien/p/16880241.html

相关文章

  • 1024竟是官方节日,祝大家节日快乐
    不知不觉,又到了一年一度的1024程序员节,在今天的这个特殊的日子里,祝广大“程序猿”朋友:1024,不再996,bug退散,发量惊人。尤其是在2020年,这个节日好像被赋予了更深层次的味道~来......
  • 1. 演进、环境与资源-20221111
    C++11也叫2.0了解:之前std:tr1的内容都已经放到std内了搜索:   :Gcc:unix家族,MinGW:windows家族   选择支持C++11还是14:【右击项目】–【选择属性】–【C/C++......
  • C语言基础知识应用·
    一开始由算法开始,毕竟你以前学的算法和c有所不同然后开始学程序流程控制接着学内存处理机制提高深入编程然后与其他软件如sqlweb联系起来学习后面的看你自己需要......
  • HDC 2022重磅首发《鸿蒙生态应用开发白皮书》,附全文
     11月4-6日,华为开发者大会2022(HDC)在东莞松山湖举办,会上重磅首发《鸿蒙生态应用开发白皮书》!(以下简称《白皮书》)该书全面阐释了鸿蒙生态下应用开发核心理念、关键能力......
  • OX5021-EAE-1080-20M000恒温晶体振荡器 (OCXO) 小型蜂窝、低功耗
    OX-502恒温晶体振荡器(OCXO)将小尺寸、低功耗、快速预热以及在气流下保持稳定等特性完美结合在一起。OX-502的特性包括±10ppb超温稳定性、±3ppm10年老化以及±2ppb/C频......
  • 20201306吴龙灿第十三章学习笔记
    知识点归纳第十三章TCP/IP和网络编程学习目标通过本章的学习,了解TCP/IP协议及其应用,包括TCP/IP协议栈,ip地址,主机名,DNS,IP数据包和路由器;理解TCP/IP协议簇中的UDP和TCP......
  • 【2022年】来自于IntelliJ IDEA 的问候?IntellJ 不能启动问题
    虎年软件的第一个问题,IntelliJ忽然说过期了,要购买~~~ 对于穷苦的码农,怎么能花6w多大洋呢,再说我这个是2019.1的老掉牙版本,说好了要陪我天荒地老,才这几年就变心了~~~另觅......
  • Cinema 4D R2023.1(c4d r25 mac)
    Cinema4DR2023.1是Mac上知名的3D动画设计制作软件,包含GPU渲染器Prorender、生产级实时视窗着色、超强破碎、场景重建等诸多新功能,C4Dmac为用户提供高端的3D内容创建,......
  • 20201208史逸霏第十三章学习笔记
    第十三章读书笔记13.1TCP/IP协议IPv432位地址IPv6128位地址TCP/IP的哥哥层级以及每一层及的代表性组件及其功能顶层是使用TCP/IP的应用程序,用于登录到远程主机......
  • P2024 食物链
    P2024食物链这道题我用了两种方法,也是刚学(发现并查集学的太少了)一个是种类并查集,另一个是带权并查集1种类并查集题目中有三种关系,分别是吃,被吃和同类;还有三类集合(三种......