• Python基本语法(1)注释,基本数据类型


    Python 的语法简洁而易懂,也有许多官方和第三方文档与教程。这里仅介绍一些对 OIer 比较实用的语言特性,你可以在 Python 文档 和 Python Wiki 等网页上了解更多关于 Python 的教程。

    注释

    加入注释并不会对代码的运行产生影响,但加入注释可以使代码更加易懂易用。

    1. # 用 # 字符开头的是单行注释
    2. """
    3. 跨多行字符串会用三引号(即三
    4. 个单引号或三个双引号)包裹,
    5. 但也通常被用于注释
    6. """

    加入注释代码并不会对代码产生影响。我们鼓励加入注释来使代码更加易懂易用。

    基本数据类型

    一切皆对象

    在 Python 中,你无需事先声明变量名及其类型,直接赋值即可创建各种类型的变量:

    1. >>> x = -3 # 语句结尾不用加分号
    2. >>> x
    3. -3
    4. >>> f = 3.1415926535897932384626; f # 实在想加分号也可以,这里节省了一行
    5. 3.141592653589793
    6. >>> s1 = "O"
    7. >>> s1 # 怎么显示成单引号了?有区别吗?
    8. 'O'
    9. >>> b = 'A' == 65 # 明明在 C/C++ 中是成立的
    10. >>> b # 与众不同的是 True, False 首字母均大写,可能与内置常量的命名约定有关
    11. False
    12. >>> True + 1 == 2 and not False != 0 # Python 可能喜欢单词胜过符号
    13. True

    但这不代表 Python 没有类型的概念,实际上解释器会根据赋值或运算自动推断变量类型,你可以使用内置函数 type() 查看这些变量的类型:

    1. >>> type(x)
    2. <class 'int'>
    3. >>> type(f)
    4. <class 'float'>
    5. >>> type(s1) # 请注意,不要给字符串起名为 str,不信试试看是否真的可以这么做
    6. <class 'str'>
    7. >>> type(b)
    8. <class 'bool'>

    内置函数 是什么?

    在 C/C++ 中,很多常用函数都分散在不同的头文件中,但 Python 的解释器内置了许多实用且通用的函数,你可以直接使用而无需注意它们的存在,但这也带来了小问题,这些内置函数的名称多为常见单词,你需要注意避免给自己的变量起相同的名字,否则可能会产生奇怪的结果。

    正如我们所看到的,Python 内置有整数、浮点数、字符串和布尔类型,可以类比为 C++ 中的 intfloatstring 和 bool。但有一些明显的不同之处,比如没有 char 字符类型,也没有 double 类型(但 float 其实对应 C 中的双精度),如果需要更精确的浮点运算,可以使用标准库中的 decimal 模块,如果需要用到复数,Python 还内置了 complex 类型(而这也意味着最好不要给变量起名为 complex)。 可以看到这些类型都以 class 开头,而这正是 Python 不同于 C++ 的关键之处,Python 程序中的所有数据都是由对象或对象间关系来表示的,函数是对象,类型本身也是对象:

    1. >>> type(int)
    2. <class 'type'>
    3. >>> type(pow) # 求幂次的内置函数,后文会介绍
    4. <class 'builtin_function_or_method'>
    5. >>> type(type) # type() 也是内置函数,但有些特殊,感兴趣可自行查阅
    6. <class 'type'>

    你或许会觉得这些概念一时难以理解且没有用处,所以我们暂时不再深入,在后文的示例中你或许能慢慢体会到,Python 的对象提供了强大的方法,我们在编程时应当优先考虑围绕对象而不是过程进行操作,这会让我们的代码显得更加紧凑明晰。

    数字运算

    有人说,你可以把你系统里装的 Python 当作一个多用计算器,这是事实。
    在交互模式下,你可以在提示符 >>> 后面输入一个表达式,就像其他大部分语言(如 C++)一样使用运算符 +-*/% 来对数字进行运算,也可以使用 () 来进行符合结合律的分组,读者可以自行试验,在这里我们仅展示与 C++ 差异较大的部分:

    1. >>> 5.0 * 6 # 浮点数的运算结果是浮点数
    2. 30.0
    3. >>> 15 / 3 # 与 C/C++ 不同,除法永远返回浮点 float 类型
    4. 5.0
    5. >>> 5 / 100000 # 位数太多,结果显示成科学计数法形式
    6. 5e-05
    7. >>> 5 // 3 # 使用整数除法(地板除)则会向下取整,输出整数类型
    8. 1
    9. >>> -5 // 3 # 符合向下取整原则,注意这与 C/C++ 不同
    10. -2
    11. >>> 5 % 3 # 取模
    12. 2
    13. >>> -5 % 3 # 负数取模结果一定是非负数,这点也与 C/C++ 不同,不过都满足 (a//b)*b+(a%b)==a
    14. 1
    15. >>> x = abs(-1e4) # 求绝对值的内置函数
    16. >>> x += 1 # 没有自增/自减运算符
    17. >>> x # 科学计数法默认为 float
    18. 10001.0

    在上面的实践中可以发现,除法运算(/)永远返回浮点类型(在 Python 2 中返回整数)。如果你想要整数或向下取整的结果的话,可以使用整数除法(//)。同样的,你也可以像 C++ 中一样,使用模(%)来计算余数,科学计数法的形式也相同。

    特别地,Python 用 ** 即可进行幂运算,还通过内置的 pow(a, b, mod) 提供了 快速幂 的高效实现。

    Python 的字符串类型包含 Unicode 字符,这意味着任何字符串都会存储为 Unicode。2在 Python 中,可以对一个 Unicode 字符使用内置函数 ord() 将其转换为对应的 Unicode 编码,逆向的转换使用内置函数 chr()

    如果想把数转换为对应的字符串,可使用 Python 内置函数 str(),也可以使用 f-string 实现;反之,可以使用 int() 和 float() 两个函数。

    Python 的字符串类型还有 许多方便的功能。由于本文篇幅有限,这里不一一介绍。

    数据类型判断

    对于一个变量,可以使用 type(object) 返回变量的类型,例如 type(8) 和 type('a') 的值分别为  和 

  • 相关阅读:
    高通导航器软件开发包使用指南(12)
    不会做项目惨遭部门领导批评,连刷35天分布式小册轻松拿下
    指针及其应用
    Java学习-第一阶段-第一节:Java概述
    路由与交换技术-17-生成树协议配置
    基于POI的可快速定制Excel导出脚本设想
    FastAPI 学习之路(十六)Form表单
    用一个例子理解拉格朗日乘数法解决等式约束优化问题
    ABAP:EXCEL导入导出等功能
    遨博机械臂——末端工具ROS驱动
  • 原文地址:https://blog.csdn.net/cyyyyds857/article/details/127714446