Python学习-基础变量类型

部署运行你感兴趣的模型镜像

目录

变量

1、变量声明

1.1 命名规则

2、变量赋值

3、变量类型

3.1 str(字符串类型)

3.1.1 基本特征

3.1.2 运算

3.1.3 访问

3.1.4 关系判断

3.1.5 格式化表达式

3.1.6 常用的API

3.2 数字类型

3.2.1 整型(int)

3.2.2 浮点数(float)

3.2.3 布尔类型(bool)

3.2.4 运算


变量

        变量是代数的思想,是用来引用数据和功能占位的,具备动态性和可变性;

使用的变量必须声明,在声明变量时不需要指定变量类型。

1、变量声明

变量是缓存数据的标识符。

在Python中,变量是用赋值语句创建,用来绑定一个数据的有名对象

1.1 命名规则
  • 变量只能包含字母、数字和下划线(_)
  • 不能以数字开头
  • 严格区分大小写
  • 不能跟保留字相同

  • 通常使用小写字母
  • 多个单词时使用匈牙利命名法或驼峰法
  • 简短、有意义,见名知意
  • 纯大写字母一般表示常量
  • 变量名用名词,函数名用谓词(动词+名词),如 phone / update_phone。
  • 类名采用驼峰形式,如MyClass。
a        a1           abc        ABC    a1b2c3d4
one_hundred          count      _a      __ABC__

getNameAge         get_name_age        GetNameAge
# 小驼峰              匈牙利命名法         大驼峰

2、变量赋值

使用=对变量进行赋值

变量名 = 数字类型
变量名 = 表达式
变量名1 = 变量名2 = 变量名3  = 数字类型
变量名1, 变量名2, 变量名3  = 数字类型1, 数字类型2, 数字类型3

说明

  •         第一次赋值是创建变量,同时绑定表达式执行结果
  •         后续再赋值,会改变原有变量的绑定关系
  •         变量本身没有类型,它绑定的对象才有类型
  •         变量在使用之前,必须先进行赋值
  •         变量赋值是一个自右向左的运算,将=右边表达式结果赋值给变量

(python的变量使用与C语言的变量使用不一样,在C语言中我们定义一个变量需在变量前规定它的数据类型,如:int、char、long、float等,但在Python中我们不需要这样定义)

3、变量类型

Python中的变量就是变量,它没有类型,我们所说的"类型"是变量指向的内存中对象的类型。我们可以使用type小函数用于获取一个变量或值的类型。

python中的数据类型:

  • 字符串 str

  • 数字

    • 整数 int

    • 浮点数 float

    • 布尔数 bool

  • 容器

    • 列表 list

    • 元组 tuple

    • 字典 dict

    • 集合 set / 固定集合 frozenset

    • 字节串 bytes / 字节数组 bytearray

按照是否可修改划分分为:

  • 不可变数据:Number(数字)、String(字符串)、Tuple(元组)

  • 可变数据:List(列表)、Dictionary(字典)、Set(集合)

3.1 str(字符串类型)

用引号引起来的就是字符串,即便是或者空格

3.1.1 基本特征
  • 引号引起来的:单引号、双引号、三引号(三个单引号或双引号);

  • 三引号是字符串模板,所见即所得,可以包含单引号和双引号;

  • 使用反斜杠\对字符进行转义

\'    代表单引号
\"    代表双引号
\n    代表换行符
\\    代表反斜杠
\t	  代表缩进

字符串前加r表示原始字符,不转义

r'c:\window\user\data'
3.1.2 运算
  • 字符串连接用“+”
  • 相邻的两个或多个字符串字面值会自动合并
  • 字符串 * n ,字符串会重复n次输出,如:

3.1.3 访问
  • 索引访问:从0开始,支持负数
'abc'[1] # 其中a的位置为0,b的位置为1,c的位置为3,[1]的意思是字符串中位置为1所以输出应该为b
  • 支持切片:参考是start、end、step,下标从0开始,支持负数
str[[start]:[end]:[step]]
str[1:4:2]  # 1对应start表示开始位置,4对应end表示结束位置,2对应step表示片段长度
str1 = '1234567'
str1[1:4:2]  # 那么这个字符串的起始位置为2,终止位置为5,片段长度为2,那么最后代表了2 4
  • 其中的数都可以为负数,输入正数的情况下我们0的位置是最左边为0依次递增,输入负数的情况下我们会把字符串的最后一位定为-1向左依次递减

当start为空,end为空,step为-1时会把字符串倒序输出

3.1.4 关系判断

in 和 not in:判断是否包含指定的字符串

str = r'c:\window\ruser\data'
print('window' in str)
3.1.5 格式化表达式

占位符:生成具有一定格式的字符串

格式化字符串 % 参数1
# 或者
格式化字符串 % (参数1, 参数2, 参数3)

转换符

含意

备注

'd'

有符号十进制整数。

'i'

有符号十进制整数。

'o'

有符号八进制数。

(1)

'u'

过时类型 -- 等价于 'd'

'x'

有符号十六进制数(小写)。

(2)

'X'

有符号十六进制数(大写)。

(2)

'e'

浮点指数格式(小写)。

(3)

'E'

浮点指数格式(大写)。

(3)

'f'

浮点十进制格式。

(3)

'F'

浮点十进制格式。

(3)

'g'

浮点格式。 如果指数小于 -4 或不小于精度则使用小写指数格式,否则使用十进制格式。

(4)

'G'

浮点格式。 如果指数小于 -4 或不小于精度则使用大写指数格式,否则使用十进制格式。

(4)

'c'

单个字符(接受整数或单个字符的字符串)。

'r'

字符串(使用 repr() 转换任何 Python 对象)。

(5)

's'

字符串(使用 str() 转换任何 Python 对象)。

(5)

'a'

字符串(使用 ascii() 转换任何 Python 对象)。

(5)

'%'

不转换参数,在结果中输出一个 '%' 字符。

注释:

  1. 此替代形式会在第一个数码之前插入标示八进制数的前缀 ('0o')。

  2. 此替代形式会在第一个数码之前插入 '0x' 或 '0X' 前缀(取决于是使用 'x' 还是 'X' 格式)。

  3. 此替代形式总是会在结果中包含一个小数点,即使其后并没有数码。

    小数点后的数码位数由精度决定,默认为 6。

  4. 此替代形式总是会在结果中包含一个小数点,末尾各位的零不会如其他情况下那样被移除。

    小数点前后的有效数码位数由精度决定,默认为 6。

  5. 如果精度为 N,输出将截短为 N 个字符。

示例代码:

fmt = """
甲方:_____%s_____
乙方:_____%s_____
   ....... 金额:_%d__
"""
s = fmt % ("小王", 'csdn', 10000)
b = fmt % ("小红", 'csdn', 18000)

print(s)

运行结果:

甲方:_____小王_____
乙方:_____csdn_____
   ....... 金额:_10000__

f-string:格式化字符串以 f 开头,字符串中的表达式用 {} 包起来。

x = 1
y = 2.3 
print(f'{x+1}')   #2
x = 1
print(f'{x+1=}')   #x+1=2  

d = 12
print(f'abc{d}') # 其中的{}中为变量或表达式

# 可以使用:对变量进一步格式化
pi = 3.1415
print(f'{pi:.2f}') # 3.14
3.1.6 常用的API

字符串还有其他的操作方法,如:

str.capitalize()

        返回原字符串的副本,其首个字符大写,其余为小写。

str.casefold()

        返回原字符串消除大小写的副本。 消除大小写的字符串可用于忽略大小写的匹配。

str.center(width[, fillchar])

        返回长度为 width 的居中字符串。 使用指定的 fillchar 填充空位(默认为 ASCII 空格)。 如果 width 小于等于 len(s) 则返回原字符串。

str.count(sub[, start[, end]])

        返回子字符串 sub 在 [startend] 范围内非重叠出现的次数。 可选参数 start 与 end 会被解读为切片表示法。

如果 sub 为空,则返回字符之间的空字符串数,即字符串的长度加一。

这些操作方法我们可以去python官网(https://docs.python.org/zh-cn/3.12/library/stdtypes.html#text-sequence-type-str)进行查询使用,这里不再过多叙述。

3.2 数字类型

Python 中的基本的数字类型

  • 整数 int

  • 浮点数(小数) float

  • 布尔类型数 bool

3.2.1 整型(int)
## 十进制的写法
100        0         -5

## 二进制的写法 0b 开头 后跟 0~1
0b1101

## 八进制的写法 0o开头 后跟 0~7
0o777   等于  0b111111111   等于 511

## 十六进制的写法  0x 开头 后跟 0~9, a-f, A-F
0xA1B2C3D4  等于  2712847316
3.2.2 浮点数(float)
## 小数写法
3.14         0.14       .14         3.0       3.      0.0
## 科学计数法
6.18E-1   	# 等同于 0.618   
2.9979E8   	# 等同于 299790000.0
3.2.3 布尔类型(bool)
  • 表示真假、对错、黑白等;

  • 只有2个值TrueFalse

  • 类型转换使用bool()方法

  • 非0都是True

  • 0、0.0、-0.0、空字符串、空列表、空字典、空集合、空元组、None等都是False;

3.2.4 运算

所有数字类型(复数除外)都支持下列运算(有关运算优先级,请参阅:运算符优先级):

运算

结果:

备注

完整文档

x + y

x 和 y 的和

x - y

x 和 y 的差

x * y

x 和 y 的乘积

x / y

x 和 y 的商

x // y

x 和 y 的商数

(1)(2)

x % y

x / y 的余数

(2)

-x

x 取反

+x

x 不变

abs(x)

x 的绝对值或大小

abs()

int(x)

将 x 转换为整数

(3)(6)

int()

float(x)

将 x 转换为浮点数

(4)(6)

float()

complex(re, im)

一个带有实部 re 和虚部 im 的复数。im 默认为0。

(6)

complex()

c.conjugate()

复数 c 的共轭

divmod(x, y)

(x // y, x % y)

(2)

divmod()

pow(x, y)

x 的 y 次幂

(5)

pow()

x ** y

x 的 y 次幂

(5)

注释:

  1. 也称为整数除法。 对于 int 类型的操作数,结果的类型为 int。 对于 float 类型的操作数,结果的类型为 float。 总的说来,结果是一个整数,但结果的类型不一定为 int。 结果总是向负无穷的方向舍入: 1//2 为``0``,(-1)//2 为 -11//(-2) 为 -1(-1)//(-2) 为 0

  2. 不可用于复数。 而应在适当条件下使用 abs() 转换为浮点数。

  3. 从 float 转换为 int 将会执行截断,丢弃掉小数部分。 请参阅 math.floor() 和 math.ceil() 函数了解替代的转换方式。

  4. float 也接受字符串 "nan" 和附带可选前缀 "+" 或 "-" 的 "inf" 分别表示非数字 (NaN) 以及正或负无穷。

  5. Python 将 pow(0, 0) 和 0 ** 0 定义为 1,这是编程语言的普遍做法。

  6. 接受的数字字面值包括数码 0 到 9 或任何等效的 Unicode 字符(具有 Nd 特征属性的代码点)。

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值