-----Python | Day 2-----

本文是Python学习的第二天,主要介绍了赋值操作,包括链式赋值和系列解包赋值。还详细讲解了Python中的常量、基本内置数据类型如整数、浮点数、布尔值,并探讨了整数的进制转换、浮点数的类型转换以及字符串的操作,如字符串的编码、格式化和比较机制。此外,文章还涉及了运算符、时间表示、逻辑运算符以及字符串的常用方法,如切片、替换和分割等。
摘要由CSDN通过智能技术生成

-----Python | Day 2-----

-----赋值-----

-----链式赋值赋值-----

链式赋值赋值:同一个对象赋值给多个变量。

>>> x=y=123 # 对象123 赋值 y,然后 123 赋值 x。

-----系列解包赋值-----

系列解包赋值:系列赋值给对应变量(个数一致)。

>>> a,b,c=4,5,6
>>> a,b,c=c,a,b #在c里面我们往往加一个中间值去改顺序。 在python里面直接换。
>>>> print(a,b,c)
(6, 4, 5)

-----常量----

常量:Python 不支持常量 (不想java),无规则限制改变一个其值,所以在逻辑上改常量的值。(起名规则:全部大写,"_" 隔开)

>>> MAX_SPEED=120 #逻辑上不可改
>>> MAX_SPEED=121 #实际上可以改
>>>> print(MAX_SPEED)
121

-----最基本内置数据类型和运算符-----

-----最基本内置数据类型-----

graph LR
A(最基本内置数据类型:每个对象都有类型) --> B(整型 e.g. 10)
A --> C(浮点型(小数) e.g. 10.1)
A --> D(布尔型   e.g. True,False)
A --> E(字符串型  e.g. "a")

-----运算符(整数&浮点数)-----

类型运算符 说明 示例 结果
1. 加法 1+2 3
2. 减法 2-1 1
3. 乘法 1*2 2
/ 浮点数除法 1/2 0.5
// 整数数除法 1/2 0
% 模(取余) 7/3 1
** 2**2 4

⚠️ ⚠️⚠️

  1. 除数为 0 -->异常:
>>> 1/0 #不管什么运算, 只要除数为0 都行。

Traceback (most recent call last):
 File "<pyshell#1>", line 1, in <module>
   1/0
ZeroDivisionError: integer division or modulo by zero
  1. divmod()函数同时得到商和余数。(返回元组)
>>> divmod(7,3)
(2, 1)

-----整数-----

除 10 进制 0 1 2 3 4 5 6 7 8 9,还有其他三种进制:

  1. 0b 或 0B,二进制 0 1
  2. 0o 或 0O,八进制 0 1 2 3 4 5 6 7
  3. 0x 或 0X,十六进制0 1 2 3 4 5 6 7 8 9 a b c d e
2 8 10 16
0. 0 0 0 0
1. 1 1 1 1
2. 10 2 2 2
3. 11 3 3 3
4. 100 4 4 4
5. 101 5 5 5
6. 110 6 6 6
7. 111 7 7 7
8. 1000 10 8 8
9. 1001 11 9 9
10. 1010 12 10 a
11. 1011 13 11 b
12. 1100 14 12 c
13. 1101 15 13 d
14. 1110 16 14 e
15. 1111 17 15 f
16. 10000 20 16 10
17. 10001 21 17 11
18. 10010 22 18 12
19. 10011 23 19 13
20. 10100 24 20 14

⚠️:这三种进制可以非常方便的进行“位运算”操作。

>>> 0b101 
5
>>> 0B101 #大小写都ok
5
>>> 0o10
8
>>> 0xff #15*16+15
255
>>> 0xg #16进 无g
SyntaxError: invalid token
>>> 0xf
15
>>> 0x10
16
-----使用 int()实现类型转换-----

使用 int()实现类型转换:

  1. 浮点数:小数直接舍去小数点部分。e.g. int(1.7)结果是:1
  2. 布尔值: True -> 1,False -> 0。 e.g. int(True)结果是: 1
  3. 字符串: 符合整数格式(浮点数格式不行)则直接转成对应整数,否则报错。
>>> int("1.1")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '1.1'

>>> int("1")
1

>>> int("abc")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'abc'
-----自动转型-----

自动转型: 整数和浮点数混合运算–>自动转型成浮点数。e.g. 1+8.0 的结果是 9.0

-----整数可以有多大?-----

Python2: int 是 32 位,可以存储从-2147483648 到 2147483647 的整数。Long 类型是 64 位,可以存储:-2^63 到
2^63-1 之间的数值。
Python3 : int 可以存储任意大小的整数,long 被取消。Python3 中可以做超大数的计算,而无“整数溢出”, 特别适合科学运算。

>>> googol=10**100
>>> googol #google 含义
10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

-----浮点数-----

浮点数(float):浮点数用 a*b10 形式的科学计数法表示,内存中也是按照科学计数法存储。 e.g. 3.14 ->314E-2 or 314e-2

>>> 314e-2
3.14
>>> 314E-2
3.14
-----类型转换和四舍五入-----

float() (just like int()):

  1. 整数和浮点数混合运算时,表达式结果自动转型成浮点数
  2. round(value)可以返回四舍五入的值 e.g. round(3.6)->4
    ⚠️:但不会改变原有值,而是产生新的值
>>> float(1) #int 这个转换不会改变原有对象1的任何性质,而是创造了一个新的对象1.0 with type float and own id.
1.0

>>> float("1") #str :"int"
1.0

>>> float("1.1") #str :"float"
1.1

>>> float("adfggadf") #str 
Traceback (most recent call last):
  File "<stdin>", line 1, in <mo
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值