2. python - 变量类型、运算符

2. 变量类型、运算符

2.1 变量类型

  • python属于弱类型语言,其变量特点如下:
    1. 变量无须声明就可以直接赋值,对一个不存在的变量赋值就相当于定义了一个新变量。
    2. 变量的数据类型可以随时改变,比如,同一个变量可以一会儿被赋值为整数,一会儿被赋值为字符串。
    3. 弱类型并不等于没有类型,弱类型是说在书写代码时不用刻意关注类型,编译会根据赋值自动匹配其变量类型,pyhton的变量类型如下介绍。

2.1.1 int 型

  • 整数就是没有小数部分的数字,Python 中的整数包括正整数0负整数,并且整数的取值范围是无限的,会自动根据整数范围分配精度和内存。
  • 多种进制表示整数:
    1. 十进制
    2. 二进制:0b或者0B开头
    3. 八进制:0o或者0O开头
    4. 十六进制:0x或者0X开头
  • 分隔符:为提高数字的的可读性,Python 允许使用下划线_作为数字(包括整数和小数)的分隔符,通常每隔三个数字添加一个下划线,例如:1_302_2343.141_593

2.1.2 float 型

  • pyhton中小数通常以浮点数的形式存储。
  • 表达格式:
    1. 十进制:34.6
    2. 指数:aEnaen,例如2.1E5 = 2.1x10^5、注意:12E2等价1200也是小数。
  • 小数在内存中是以二进制形式存储的,因此小数存在精度问题,为提高精度计算,可使用 decimal, fractions 模块。

2.1.3 complex 型

  • python支持复数,并支持复数的加、减、乘运算。
  • 复数由实部(real)和虚部(imag)构成,复数的虚部以j或者J作为后缀,书写格式:a+bj

2.1.4 字符串

  • 若干个字符的集合就是一个字符串,双引号" "或者单引号' '包围。
  • 处理字符串中的引号的
    1. 用转义符:\ , 例如:'I\'m a great coder!'表示字符串:I'm a great coder!
    2. 用不同的引号包围字符串,例如:"I'm a great coder!"表示字符串:I'm a great coder!
  • 字符串的换行:\
s2 = "It took me some times to write this Python tutorial. \
    Please give me more support. \
    I will keep it updated."
  • 长字符串:"""长字符串内容"""'''长字符串内容''' , 长字符串没有赋值给任何变量则默认为注释。
  • 原始字符串 : str1 = r'原始字符串内容' 或 str2 = r"""原始字符串内容"""
# 需要表示:D:\Program Files\Python 3.8\python.exe
s1 = ”D:\\Program Files\\Python\\python.exe“
s2 = r'D:\Program Files\Python\python.exe'

2.1.5 bytes 型

  • bytes 是 Python 3.x 新增的类型 , 方便记忆叫做:字节串
  • 字节串由若干个字节组成,以字节为单位进行操作
  • 字节串和字符串都是不可变序列,不能随意增加和删除数据
  • 创建方法:
    1. 通过构造函数创建空 bytes :b1 = bytes ( 'qwq' )
    2. 通过b前缀将字符串转换成 bytes :b2 = b 'qwq'

2.1.6 bool 型

  • bool 类型来表示真(对)或假(错)
    1. True : 真(1)
    2. False : 假(0)

2.2 运算符

2.2.1 转换说明符

  • %开头的转换说明符对各种类型的数据进行格式化输出
  • 转换说明符只是一个占位符,它会被后面表达式(变量、常量、数字、字符串、加减乘除等各种形式)的值代替
  • Python 转换说明符如下表所示:
转换说明符解释
%d%i转换为带符号的十进制整数
%o转换为带符号的八进制整数
%x%X转换为带符号的十六进制整数
%e%E转化为科学计数法表示的浮点数
%f%F转化为十进制浮点数
%c格式化字符及其 ASCII 码
%r使用 repr() 函数将表达式转换为字符串
%s使用 str() 函数将表达式转换为字符串
  • 转换说明符的修饰参数:
    1. 指定最小输出宽度:在%号和转换符中加入修饰宽度数字,例如:%10d%25s
    2. 指定对齐方式:在最小宽度之前增加一个标志来改变对齐方式: - 指定左对齐,默认为右对齐; + 表示输出的数字总要带着符号、正数带+,负数带 -0 表示宽度不足时补充 0,而不是补充空格。
    3. 指定小数精度:精度值需要放在最小宽度之后,中间用点号.隔开,%m.nf 或者 %.nf
  • print打印格式化写法: print("数字num = %d"%num)

2.2.2 转义字符

  • 以反斜杠 \ 开头的字符
  • 使用编码值来间接地表示字符, 以\0开头表示后跟八进制形式的编码值,以\x开头表示后跟十六进制形式的编码值,例如:1 的ASCII码值为 0x31 ,则可用\x31表示字符1
  • Python 支持的转义字符:
转义字符说明
\n换,将光标位置移到下一行开头
\r回车符,将光标位置移到本行开头
\t水平制表符,也即 Tab 键,一般相当于四个空格
\a蜂鸣器响,现在的计算机很多都不带蜂鸣器了,响铃不一定有效
\b退格(Backspace),将光标位置移到前一列
\\反斜线
\'单引号
\"双引号
\在字符串行尾的续行符,即一行未完,转到下一行继续写

2.2.3 算数运算符

  • 算术运算符也即数学运算符,用来对数字进行数学运算
运算符说明示例结果
+加法,字符串拼接12.45+1527.45
-减法4-22
*乘法,重复字符串5*3.618
/除法7/23.5
//整除7//23
%取余7%21
**幂运算2**416

2.2.4 赋值运算

  • 赋值运算符用来把右侧的值传递给左侧的变量
运算符说 明用法举例等价形式
=最基本的赋值运算x = yx = y
+=加赋值x += yx = x + y
-=减赋值x -= yx = x - y
*=乘赋值x *= yx = x * y
/=除赋值x /= yx = x / y
%=取余数赋值x %= yx = x % y
**=幂赋值x **= yx = x ** y
//=取整数赋值x //= yx = x // y
&=按位与赋值x &= yx = x & y
|=按位或赋值x |= yx = x | y
^=按位异或赋值x ^= yx = x ^ y
<<=左移赋值x <<= yx = x << y,这里的 y 指的是左移的位数
>>=右移赋值x >>= yx = x >> y,这里的 y 指的是右移的位数

2.2.5 位运算

  • 位运算按照数据在内存中的二进制位(Bit)进行操作
  • Python 位运算符只能用来操作整数类型
位运算符说明使用形式举 例
&按位与a & b4 & 5
|按位或a | b4 | 5
^按位异或a ^ b4 ^ 5
~按位取反~a~4
<<按位左移a << b4 << 2,表示整数 4 按位左移 2 位
>>按位右移a >> b4 >> 2,表示整数 4 按位右移 2 位

2.2.6 比较运算符

  • 比较运算符,也称关系运算符,用于对常量、变量或表达式的结果进行大小比较。如果这种比较是成立的,则返回 True(真),反之则返回 False(假)
比较运算符说明
>大于,如果>前面的值大于后面的值,则返回 True,否则返回 False
<小于,如果<前面的值小于后面的值,则返回 True,否则返回 False
==等于,如果==两边的值相等,则返回 True,否则返回 False
>=大于等于(等价于数学中的 ≥),如果>=前面的值大于或者等于后面的值,则返回 True,否则返回 False
<=小于等于(等价于数学中的 ≤),如果<=前面的值小于或者等于后面的值,则返回 True,否则返回 False
!=不等于(等价于数学中的 ≠),如果!=两边的值不相等,则返回 True,否则返回 False
is判断两个变量所引用的对象是否相同,如果相同则返回 True,否则返回 False
is not判断两个变量所引用的对象是否不相同,如果不相同则返回 True,否则返回 False

2.2.7 逻辑运算符

  • 逻辑运算,例如 p 为真命题,q 为假命题,那么“p且q”为假,“p或q”为真,“非q”为真
逻辑运算符含义示例结果
and&&1 and 0False
or||1 or 0True
not!not 1False

2.2.8 三目运算

  • c语言中 ? : 来表示三目运算,python中用: if else 来表示
  • max = a if a>b else b : 表示,如果a大于b,则取a的值,反之取b的值
  • 三目运算嵌套: a if a>b else c if c>d else d

感谢阅读,如有错误,敬请见谅!!!


  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

园长QwQ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值