Python 的基本数据类型

本文介绍了Python的基本数据类型,包括数值类型(整型、浮点型)、字符串类型,以及集合、字典、列表、元组的使用。还详细讲解了Python的bytes数据类型,强调了它在Python3中的重要性和与字符串的区别。此外,文章还讨论了Python的隐藏变量和判断数据内容的方法isinstance()及其与type()的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、基本数据类型

1.1、数值类型

1.1.1、int类型,整型不能被遍历

int() # 将字符串转换为整形
int('',base='禁止') # 将元素转化为指定的进制类型输出
元素.bit_length() # 数值二进制表示的位数

1.1.2、浮点类型

# 浮点数截断:有时浮点数太长,我们可能希望截断。一般有2大种截断需求:只保留整数、保留指定位数的小数。

# 只保留整数
# 只保留整数小数全部舍弃
print int(3.8), int(3.1)
# 3 3

# 保留整数并且四舍五入
print round(3.8), round(3.1)
# 4.0 3.0

# 保留整数向上取整
import math
print math.ceil(3.8), math.ceil(3.1)
# 4.0 4.0

# 保留整数向下取整
import math
print math.floor(3.8), math.floor(3.1)
# 3.0 3.0

# 保留小数
# 指定小数位数四舍五入
print round(3.11, 1) , round(3.18, 1)
# 3.1 3.2

# 指定小数2位向下取整
import math
num = 3.1415
num = num*100
print math.floor(num)/100
# 3.14

# 指定小数2位向上取整
import math
num = 3.1415
num = num*100
print math.ceil(num)/100
# 3.15

1.2、str类型,字符串类型

#字符串的相关操作

#基本操作
#+  字符串连接操作
str1 = '来是come走是go'
str2 = '点头yes摇头no'
result = str1 + str2
print(len(str1)) # 获取字符串长度
print(result)

#*  字符串复制操作
str1 = '天地不仁以万物为刍狗'
result = str1 * 3
print(result)

#[]  索引操作
str1 = '柳暗花明又一村'
print(str1[1])
print(str1[-2])

#[::]取片操作
str1 = '山重水复疑无路'
#获取指定范围内的字符串(从开始位置到结束位置之前,不包含结束位置)
result = str1[2:5]
print(result)
#获取开始位置到最后的所有字符串
result = str1[2:]
print(result)
#获取从开头到指定位置之前的所有字符串
result = str1[:5]
print(result)

#获取整个字符串
result = str1[:]
print(result)

#获取字符串时设定索引增加的值 默认1
result = str1[::6]
print(result)


#函数
#capitalize()  首字母大写
str1 = 'fire in the hole'
print(str1)
result = str1.capitalize()
print(result)

#title  每个单词首字母大写
str1 = 'if you lose youself'
print(str1)
result = str1.title()
print(result)

#upper()  所有字母转化为大写
str1 = 'if you feel my love'
print(str1)
result = str1.upper()
print(result)

#lower()  所有字母转化为小写
str1 = 'YOU ARE A LOEWR BEE'
print(str1)
result = str1.lower()
print(result)

#swapcase()  大小写互换
str1 = 'gOOd gooD stUdy'
print(str1)
result = str1.swapcase()
print(result)

#len()  获取字符串的长度
str1 = '明月几时有'
result = len(str1)
print(result)

#count()  统计字符串中指定字符出现的次数
str1 = '人人都说:初恋是用来练手的,但其实单身才是用来练手的'
#result = str1.count('手')
result = str1.count('手',10,22)
print(result)

#find()  查找指定字符在字符串中第一次出现的位置  找到返回索引,找不到返回-1
str1 = '山重水复疑无路,柳暗花明又一村'
#从头查找
#result = str1.find('水')
#从指定位置开始查找
result = str1.find('花',7,12)
print(result)

#index()  查找指定字符在字符中第一次出现的位置  找到返回索引,找不到返回错误
str = 'sagdkhkhdkahkdhkjh'
#从头查找
result = str1.index('z')
#丛指定位置开始查找
result = str1.index('h',5,20)
print(result)
#startwith()  检测字符串是否以指定字符串开头
str1 = '孙悟空头上的箍叫什么?猴头箍'
result = str1.startswith('孙猴子')
print(result)

#endswith()  检测字符串是否以指定字符串结尾
result = str1.endswith('金针箍')
print(result)

#isupper()  检测字符串内容是否都是大写
str1 = 'YOU CAN YOU UP, NO CAN NO BIBI'
result = str1.isupper()
print(result)

#islower()  检测字符串内容是否都是小写
str1 = 'you can you up,no can no bibi'
result = str1.islower()
print(result)

#istitle()  检测字符串是否是每个单词首字母大写
str1 = 'You Hurt My Heart Deeply'
result = str1.istitle()
print(result)

#isalnum()  检测字符串是否由数字和字母组成(汉字当做字母处理)
str1 = '1234567890abcdef'
result = str1.isalnum()
print(result)

#isalpha()  检测字符串是否由字母组成(汉字当做字母处理)
str1 = '哈哈haha'
result = str1.isalpha()
print(result)

#isdigit()  检测是否由纯数字组成的字符串
str1 = '1234567890'
result = str1.isdigit()
print(result)

#isnumeric()  检测是否由纯数字组成的字符串
str1 = '1234567890'
result = str1.isnumeric()
print(result)

#isdecimal()  检测是否由纯数字组成的字符串
str1 = '1234567890'
result = str1.isdecimal()
print(result)

#isspace()  检测字符串是否由空白字符组成
str1 = '\n\r\t'
result = str1.isspace()
print(result)

#split()  将字符串使用特定的字符切割成多个字符串组成的列表
str1 = '似曾-相识-燕归来'
result = str1.split('-')
print(result)

#splitlines()将字符串使用换行符号切割成多个字符串组成的列表
str1 = 'wuke\r\nnaihehua\rluoqu'
result = str1.splitlines()
print(result)

#join() 将一个序列中的内容使用特定的符号链接成一个字符串 split的反向操作
result = '*'.join(result)
print(result)

#zfill()  0填充效果(数据库中数据存储常用)
var = '998'
result = var.zfill(10)
print(result)

#center()  使用指定字符填充字符串,原有内容居中显示
var = 'jzz'
result = var.center(12,'@')
print(result)

#ljust() 使用指定字符填充字符串,原有内容靠左显示
var = 'jzz'
result = var.ljust(11,'@')
print(result)

#rjust()使用指定字符填充字符串,原有内容靠右显示
var = 'jzz'
#result = var.rjust
result = var.rjust(13,'@')
print(result)

#strip()  去掉字符串两侧指定的连续的字符
var = '@
### PLC整数数据类型地址表示与使用方法 在PLC编程中,整数数据类型分为有符号整数(SINT、INT、DINT)和无符号整数(USINT、UINT、UDINT)。这些数据类型主要用于数学运算以及逻辑处理。以下是关于整数数据类型的地址表示及其使用方法的详细介绍。 #### 1. 整数数据类型概述 整数数据类型按照存储空间的不同可以划分为多种子类型,每种类型都有固定的位宽和取值范围[^1]: | 数据类型 | 位大小 | 数值范围 | |----------|--------------|------------------------------| | SINT | 8 | -128 至 127 | | USINT | 8 | 0 至 255 | | INT | 16 | -32,768 至 32,767 | | UINT | 16 | 0 至 65,535 | | DINT | 32 | -2,147,483,648 至 2,147,483,647 | | UDINT | 32 | 0 至 4,294,967,295 | #### 2. 地址表示方法 PLC 中的数据地址由两部分组成:区域标识符和偏移量。对于整数数据类型,其地址可以通过以下形式指定: - **DB 块中的变量** 如果整数位于数据块 DB 中,则地址格式为 `DBn.DBXm.b` 或 `DBn.DBDw`,其中: - `n` 表示数据块编号; - `m` 表示起始字节位置; - `.b` 表示按位访问; - `w` 表示按字访问。 示例:假设一个 INT 类型变量存放在 DB1 的第 10 字节位置,则其地址可写为 `DB1.DBD10`[^1]。 - **全局内存中的变量** 对于全局内存中的整数变量,可以直接通过物理地址访问。例如,在西门子 S7 系列 PLC 中,M 存储区用于中间变量,I 输入区用于输入信号,Q 输出区用于输出信号。它们的地址格式分别为: - M 区域:`MWn` 或 `MDn`; - I 区域:`IWn` 或 `IDn`; - Q 区域:`QWn` 或 `QDn`。 #### 3. 使用方法 整数数据类型的主要用途包括但不限于算术运算、比较操作和逻辑判断。以下是一些常见的使用场景及代码示例: ##### (1)赋值操作 ```python // 将常数值赋予 INT 变量 VAR myInt : INT; END_VAR myInt := 123; // 赋予整数值 123 ``` ##### (2)加减乘除运算 ```python // 定义两个 INT 类型变量并执行加法运算 VAR num1 : INT := 10; num2 : INT := 20; result : INT; END_VAR result := num1 + num2; // 结果为 30 ``` ##### (3)条件判断 ```python IF myInt > 0 THEN // 执行某些动作 ELSE // 执行其他动作 END_IF; ``` ##### (4)数组索引 如果需要在一个数组中定位某个元素的位置,也可以利用整数作为索引来实现: ```python VAR array : ARRAY[0..9] OF INT; index : INT := 5; END_VAR array[index] := 42; // 设置数组下标为 5 的元素值为 42 ``` #### 4. 注意事项 - 不同品牌和型号的 PLC 支持的具体整数数据类型可能有所不同,请参照具体设备的手册确认支持情况[^1]。 - 在进行跨平台移植时需特别留意目标系统的字序(Big Endian 或 Little Endian),以免因高低字节顺序差异引发错误[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值