前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Python】:老鸟的入门笔记(2)

【Python】:老鸟的入门笔记(2)

作者头像
WEBJ2EE
发布2023-09-02 11:46:15
1430
发布2023-09-02 11:46:15
举报
文章被收录于专栏:WebJ2EEWebJ2EE

提要

哈喽,大家好!相信有很多在传统软件行业的小伙伴,日常接触JS、Java、C#这类语言多一些,很少用到Python。但是Python确实很香(例如:AI、数学、绘图等),早晚会碰上它。对于我们这些懂编程但不懂Python的“老新手”来说,只有系统、全面地科普一下Python基础知识,才能更好、更高效地搬运的代码。下面是我整理的一些Python3笔记,分享给大家。

TL;DR

* 数值类型:整数、浮点数、小数、分数、复数、进制

* 动态类型:变量、对象与引用

一、数值类型

1.1 基础

整数:

  • 只有整数这一种类型(不再细分为一般整数和长整数)
  • 拥有无穷精度(只要内存空间够)
代码语言:javascript
复制
2 ** 1000

浮点数:

  • 浮点数带一个小数点,也可以加上一个科学技术标志e或E。
  • 浮点数在标准CPython中采用C语言中的“双精度”来实现。
  • 浮点数的数值比较不会总是按照你的预期工作
代码语言:javascript
复制
1.234
1.23e3
1.1 + 2.2 == 3.3
1.1 + 2.2 > 3.3

进制:

  • 二进制:0b111、0B1000
  • 十六进制:0xFF、0X100
  • 八进制:0o77、0O100
  • hex(I)、oct(I)、bin(I) 可以把一个整数转换为对应进制的字符串
  • int(str, base) 可以把给定进制的字符串转换为一个整数
代码语言:javascript
复制
0b111, 0B1000
0xFF, 0X100
0o77, 0O100
hex(1024),oct(1024),bin(1024)
int('0x400',16), int('0o2000',8), int('0b10000000000',2)

复数:

  • 3+4j
  • complex(3, 4)
代码语言:javascript
复制
3+4j
complex(3,4)
type(3+4j)

混合数值类型的运算:

  • 40+3.14
  • 在混合类型的表达式中,Python首先将被操作的对象转换成其中最复杂的操作数类型,然后再对相同类型的操作数进行数学运算。
  • 复杂度:整数 < 浮点数 < 复数
  • 要记住,所有这些混合类型转换仅适用于数值类型,一般来说,Python 不会在其他的类型之间进行转换。
代码语言:javascript
复制
40+3.14
type(40 + 3.14)
"hello world:"+100

链式比较:

  • Python 允许我们把多个比较链接起来执行范围测试。
代码语言:javascript
复制
2 < 3 < 4 < 5 < 6

1.2 除法

Python 有三种风格的除法:经典除法、向下取整除法和真除法,以及两种不同的除法运算符。

  • 运算符 // 在 Python 2.X 和 Python 3.X 都是执行向下取整除法。// 把结果向下截断到它的下层,即真正结果之下的最近的整数。其效果是向下舍入。
  • 运算符 /
    • 在 Python 2.X 中表示经典除法,如果两个操作数都是整数的话,执行截断的整数除法;否则,执行浮点除法(保留余数)。
    • 在 Python 3.X 中总是执行真除法,不管操作数的类型,都返回包含任何小数部分的一个浮点数结果。
代码语言:javascript
复制
10/4
10/4.0
10/4
10//4.0
5//2
-5//2
5//-2
9//3

1.3 小数(Decimal)

  • 从功能上讲,小数对象很像浮点数,但它们有固定的位数和小数点。因此,小数(Decimal)是精度固定的浮点数。
  • 小数类型对表达固定精度的特性(例如货币的累加)以及对实现更好的数值精度而言,是一个理想的工具。
代码语言:javascript
复制
0.1 + 0.1 + 0.1 - 0.3
代码语言:javascript
复制
from decimal import Decimal
Decimal('0.1') + Decimal('0.1') + Decimal('0.1') - Decimal('0.3')

1.4 分数(Fraction)

  • 数值类型Fraction(分数),实现了一个有理数对象。
  • 本质上,它显式地保持了一个分子和一个分母,从而避免了浮点数运算的某些不精确性和局限性。
代码语言:javascript
复制
from fractions import Fraction
Fraction(1,10) + Fraction(1,10) + Fraction(1,10) - Fraction(3,10)

二、变量、对象和引用

  • 变量创建:一个变量(也就是变量名),就像 a,当代码第一次给它赋值时就创建了它。之后的赋值将会改变已创建的变量名的值。
  • 变量类型:变量永远不会拥有任何和它关联的类型信息或约束。类型的概念存在于对象而不是变量名中。变量原本是通用的,它只是在一个特定的时间点,简单地引用了一个特定的对象而已。
  • 变量使用:当变量出现在表达式中时,它会马上被当前引用的对象所代替,无论这个对象是什么类型。
代码语言:javascript
复制
a = 343
print(id(a))
print(type(a))

a = 'python'
print(id(a))
print(type(a))
代码语言:javascript
复制
a = 343
b = a

print(id(a))
print(id(b))

参考:

《Python学习手册 原书第五版 上册》

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-05-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 WebJ2EE 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、数值类型
    • 1.1 基础
      • 1.2 除法
        • 1.3 小数(Decimal)
          • 1.4 分数(Fraction)
          • 二、变量、对象和引用
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档