Python常用的数据类型及常用的函数

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/hnsftqs/article/details/86520833

Python的常用数据类型有:

1、字符串
2、布尔类型
3、整数
4、浮点数
5、数字
6、列表
7、元组
8、字典
9、日期

一、字符串

字符串类型的相关内置函数比较多,主要学习了下面的一些方法

# 字符串类型 str
str = 'ab      abcdefghijklmnopqrstuvwxyz, 1234567890 .ABCDEFGHIJKLMNOPQRSTUVWXYZ |~!@#$%^&*() _+{}":?> <!@#¥%……&*(' \
      ')——+|}{“'':?》《】【、‘;、。,      ab'

print(len(str))  # 字符串包含字符个数
print(str.strip())  # 字符串除去前后空格
print(str.strip('ba'))  # 字符串除去前后指定的字符
print(str.lstrip())  # 字符串除去左侧空格
print(str.rstrip())  # 字符串除去右侧空格
print(str.lstrip('ab'))  # 字符串除去左侧指定字符
print(str.rstrip('ab'))  # 字符串除去右侧指定字符

print(str.count('a'))  # 字符串中指定字符串出现的次数
print(str.capitalize())  # 字符串首字母大写
print(str.center(200, '@'))  # 字符串补充道指定长度并将原字符串居中,两侧用指定字符填充
print(str.find('abca'))  # 返回指定字符或字符串在当前字符串中的下标,未找到返回-1
print(str.index('abca')) # 返回指定字符或字符串在当前字符串中的下标,存在多个只返回第一个下标,未找报错 substring not found
print(str.replace('ab ', 'AB '))  # 字符串替换
print('{}-{}-{}'.format('2019', '01', '15'))  # 字符串格式化

print(str.startswith('ab', 8))  # 判断字符串是否以指定字符串开头,第二、三参数表示判断当前字符串的子字符串是否以指定字符串开头
print(str.endswith('ab', 3, -2))  # 判断字符串是否以指定字符串结束,参数类似startwith函数
print('abc123'.isalnum())  # 判断字符串是否全为字母和数字
print("aac".isalpha())  # 判断字符串是否全为字母,且至少有一个字符
print('10'.isdecimal())
print('10'.isdigit())
print('10'.isnumeric())
"""
总结:
isdigit()
True: Unicode数字,byte数字(单字节),全角数字(双字节)
False: 汉字数字,罗马数字,小数
Error: 无 
isdecimal() 
True: Unicode数字,全角数字(双字节) 
False: 罗马数字,汉字数字,小数
Error: byte数字(单字节) 
isnumeric() 
True: Unicode数字,全角数字(双字节),罗马数字,汉字数字 
False: 小数 
Error: byte数字(单字节)
"""
print('aa1111aa'.islower())  # 判断字符串中的字母是否全为小写
print('AAAA1122BB'.isupper())  # 判断字符串中的字母是否全为大写
print('Asssss123434'.istitle())  # 判断字符串是否首字母大写

print(str.split())  # 按空格分隔字符串,返回list
print(str.split('ab'))  # 按指定字符分隔字符串,返回list

print(str[-5:-1])  # 字符串切片,按下标截取,负数表示从末尾开始计算

二、布尔类型

上网查询了一下Python的布尔类型的常用操作函数应该就一个强转的函数,后期如果有接触到再继续补充

# 布尔类型 True/False int类型的子类
print(bool(0))  # 数字转布尔类型,0 为False,非0为True

三.数字类型(整型,长整型,浮点型,复数)

"""
整型(Int) - 通常被称为是整型或整数,是正或负整数,不带小数点。
长整型(long integers) - 无限大小的整数,整数最后是一个大写或小写的L。
浮点型(floating point real values) - 浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250)
复数(complex numbers) - 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。
"""

# 数字类型常用函数
int(x [,base ])         # 将x转换为一个整数  
long(x [,base ])        # 将x转换为一个长整数  
float(x )               # 将x转换到一个浮点数  
complex(real [,imag ])  # 创建一个复数  
str(x )                 # 将对象 x 转换为字符串  
repr(x )                # 将对象 x 转换为表达式字符串  
eval(str )              # 用来计算在字符串中的有效Python表达式,并返回一个对象  
tuple(s )               # 将序列 s 转换为一个元组  
list(s )                # 将序列 s 转换为一个列表  
chr(x )                 # 将一个整数转换为一个字符  
unichr(x )              # 将一个整数转换为Unicode字符  
ord(x )                 # 将一个字符转换为它的整数值  
hex(x )                 # 将一个整数转换为一个十六进制字符串  
oct(x )                 # 将一个整数转换为一个八进制字符串


# 常用的属性函数(需要导入math)
abs(x)	    # 返回数字的绝对值,如abs(-10) 返回 10
ceil(x)	    # 返回数字的上入整数,如math.ceil(4.1) 返回 5
cmp(x, y)	# 如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1
exp(x)	    # 返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045
fabs(x)	    # 返回数字的绝对值,如math.fabs(-10) 返回10.0
floor(x)	# 返回数字的下舍整数,如math.floor(4.9)返回 4
log(x)	    # 如math.log(math.e)返回1.0,math.log(100,10)返回2.0
log10(x)	# 返回以10为基数的x的对数,如math.log10(100)返回 2.0
max(x1, x2,...)	# 返回给定参数的最大值,参数可以为序列。
min(x1, x2,...)	# 返回给定参数的最小值,参数可以为序列。
modf(x)	    # 返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。
pow(x, y)	# x**y 运算后的值。
round(x [,n])	# 返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。
sqrt(x)	    # 返回数字x的平方根

四.列表(list)

# 列表 list是一种有序的集合,可以随时添加和删除其中的元素
l = ['bra', 'cea']
# 定义list
print(len(l))     # 获取list中元素的个数
"""
list 的增删改查操作
"""
l.append('c')       # 在list 尾部追加元素
l.insert(1, 'zz')   # 在list 的指定下标位置添加元素

l.pop()             # 删除list 最后一个元素
l.pop(1)            # 删除list 指定位置的元素
del l[1]              # 删除list 指定位置的元素

l[1] = 'y'          # 修改list 指定位置的元素为当前值

print(l[1])         # 获取list 指定位置的元素

l2 = ['eyc', 'dza']

l.extend(l2)  # 列表l 与 列表l2 合并
# l = [3, 1, 4, 5, 9, 7, 5, 4, 3, 6, 8, 2, 0]
l.sort()  # 列表排序 字符串按首字母进行排序 ----不能排序字母和数字混合的列表
l.sort(reverse=True)  # 列表排序 倒序
l.sort(key=lambda x: x[1], reverse=True)  # 列表按照key 的函数来排序

print(max(l))  # 获取列表中的最大的元素
print(min(l))  # 获取列表中的最小的元素

print('eyc' in l2)  # x in ['x','y','z'] 判断x 是否在列表中,存在则返回True

print(list(('1', '2', 3, 'a', 'b')))   # 将元组转换为列表

五.元祖

摘录至 https://www.cnblogs.com/hechenglong/p/8469093.html


# 元祖
# 创建空元组
temp1 = ()
# 如果元祖中只包含一个值,需用逗号隔开消除歧义
temp1 = (1,)
print(temp1)

# 元祖的基本操作
# 访问元祖,可以使用下标索引访问元素的值
temp1 = ('hello', 'world')
print(temp1[1])
temp1 = (1, 2, 3, 5, 7, 6)
print(temp1[1:5])

# 修改元祖
# 元祖中的元素值不允许修改,但可以对元祖进行连接组合
temp1 = ('hello', 'world')
num = (2018, 2)
print(temp1 + num)

# 删除元祖
# 元祖中的元素不允许删除,但可以使用del语句删除整个元祖
# temp = ('hello', 'world')
# del temp
# print(temp)


# 元祖的索引,截取
temp1 = ('hello', 'world', 'welcome')
print(temp1[2])
print(temp1[-2])
print(temp1[1:])

# 元祖的内置函数
tup = ('hello', 'world', 'welcome')
print(len(tup))  # 用于计算元祖元素个数
tup = (2, 7, 2, 9, 4)
print(max(tup))  # 用于求最大值
print(min(tup))  # 用于求最小值

# tuple(seq)  #用于将列表转换为元祖
tupl = ['hello', 'world', 'welcome']
tup = tuple(tupl)
print(tup)

六.字典

# 字典类型是Python中唯一內建的映射类型,
# (1)len():返回字典中键—值对的数量;
# (2)d[k]:返回关键字对于的值;
# (3)d[k]=v:将值关联到键值k上;
# (4)del d[k]:删除键值为k的项;
# (5)key in d:键值key是否在d中,是返回True,否则返回False。
# 创建字典
d = {'k1': 'v1', 'k2': 'v2', 'k3': 'v3'}
dd = dict.fromkeys(['a', 'b', 'c', 'd'], 'defaultValue')   # 使用给定的键建立新的字典,键默认对应的值为None
print(dd)
d = dict()
# 增删改查

# 增加和修改
d['k4'] = 'v4'  # 新增 k4:v4键值对,若k4存在则修改k4对应的值为当前值
d['k4'] = 'v5'
print(d)

# 删除   以下两种方法都可以删除
del d['k1']
d.pop('k2')
d.popitem()           # 删除字典尾部元素
d.clear()  # 清除字典中的所有项
print(d)

# 查询
print(d['k1'])  # 获取k1的对应的值
print(d.get('k1'))  # 获取k1的对应的值
print(d.values())  # 获取d中所有的value
print(d.keys())  # 获取d中所有的key
print('k1' in d)  # 判断d中是否有k1 的key

# 其他操作

d1 = {'k1': 'v1', 'k2': 'v2', 'k3': 'v3', 'k4': 'v4'}
d2 = {'k5': 'v5', 'k6': 'v6', 'k7': 'v7', 'k8': 'v8'}
d1.update(d2)  # 合并两个字典
print(d1)
# {'k1': 'v1', 'k2': 'v2', 'k3': 'v3', 'k4': 'v4', 'k5': 'v5', 'k6': 'v6', 'k7': 'v7', 'k8': 'v8'}
print(d1.items())  # 将字典转为列表
# dict_items([('k1', 'v1'), ('k2', 'v2'), ('k3', 'v3'), ('k4', 'v4'), ('k5', 'v5'), ('k6', 'v6'), ('k7', 'v7'), ('k8', 'v8')])

# 复制 copy (在复制的副本中对值进行替换后,对原来的字典不产生影响,但是如果修改了副本,原始的字典也会被修改)
x1 = {'a': 1, 'b': 2, 'c': [0, 9, 8, 7, 6], 'd': ('A', 'B', 'C')}
print('原始字典:', x1)
y1 = x1.copy()
print('复制的字典y1:', y1)
y1['a'] = 5
print('修改副本字典结果对比\nx1:', x1, '\ny1:', y1)
y1['c'].remove(0)
print('删除副本字典结果对比\nx1:', x1, '\ny1:', y1)

# deepcopy 使用深复制,复制其包含所有的值,这个方法可以解决由于副本修改而使原始字典也变化的问题

七.日期

参考文章:https://blog.csdn.net/qy20115549/article/details/82984522

import datetime
import time

# 以指定格式输出
day = datetime.date(year=2019, month=1, day=22)
print(day.strftime('%Y-%m-%d'))
print(day.strftime('%Y/%m/%d'))

# 以指定格式输出当前时间
print(datetime.date.today().strftime('%Y-%m-%d'))
now = datetime.datetime.today().strftime('%Y-%m-%d %H:%M:%S')
print('当前时间', now)

# 获取星期几
print(datetime.datetime.today().isoweekday())

# 获取周数及星期几
print(datetime.datetime.today().isocalendar())

# 获取当前年
print(datetime.datetime.today().year)

# 获取当前月
print(datetime.datetime.today().month)

# 获取当期日
print(datetime.datetime.today().day)

# 获取当前小时
print(datetime.datetime.today().hour)

# 字符串转化为日期
s = '2018-10-09 15:51:12'
timeTuple = datetime.datetime.strptime(s, '%Y-%m-%d %H:%M:%S')  # 解析时间
print(timeTuple, '\t', timeTuple.strftime('%Y/%m/%d %H:%M:%S'))  # 格式化成新的时间

# unix时间戳转化为指定格式的时间
timestamp = 1539073239
time_tuple = datetime.datetime.fromtimestamp(timestamp)
print("1539073239转标准时间为", time_tuple)

# 时间转unix时间戳
unix_time = time.mktime(time_tuple.timetuple())
print(time_tuple, '转unix时间戳为', unix_time)

 

展开阅读全文

没有更多推荐了,返回首页