python基础基础数据类型1
发布于 2021-04-17 05:47 ,所属分类:知识学习综合资讯
目录
基础数据类型:
数字(int)
布尔值(bool)
字符串(str)
基础数据类型
数字int
数字int主要用于运算,加减乘数等。
(点击查看大图)
不同的进制之间的转换
二进制转换成十进制:
整数部分要从右到左用二进制的每个数去乘以2的相应次方,小数点后要从左往右。
'''
二进制0001 1010
=0*2**0 + 1*2**1 + 0*2**2 + 1*2**3 + 1*2**4
= 十进制26
二进制1101.01
=1*2**0 + 0*2**1 + 1*2**2 + 1*2**3 + 0*2**-1 + 1*2**-2
=十进制13.25
'''
(左右滑动查看完整代码)
十进制转换成二进制:
十进制整数转换为二进制整数采用"除2取余,逆序排列"法;十进制小数转换成二进制小数采用"乘2取整,顺序排列"法。
int操作方法:bit_length()
bit_length()用于计算整数在内存中占用的有效二进制码的长度。
num = 10
print(num.bit_length()) # 当十进制用二进制表示时,最少使用的位数
# 运行结果: 4
(左右滑动查看完整代码)
布尔值(bool)
布尔值就两种:True,False。一般用于判断真假。
(点击查看大图)
数据类型转换(int、str、bool)
'''int <---> bool'''
# int ---> bool
num1 = 100
print(bool(num1)) # True (非零即True)
num2 = 0
print(bool(num2)) # False (零即False)
# bool ---> int
t = True
print(int(t)) # 1 (True --> 1)
t = False
print(int(t)) # 0 (False --> 0)
(左右滑动查看完整代码)
'''int <---> str'''
# int ---> str
num = 100
print(str(num)) # '100'
# str ---> int # 全部由数字组成的字符串才可以转化成数字
s1 = '90'
print(int(s1)) # 90
(左右滑动查看完整代码)
'''str <---> bool'''
# str ---> bool
s1 = 'pamela'
print(bool(s1)) # True (非空即True)
s2 = ' ' # 空格
print(bool(s2)) # True
s3 = '' # 空字符串
print(bool(s3)) # False (空即False)
# bool ---> str 无意义
t1 = True
print(str(True)) # 'True'
(左右滑动查看完整代码)
字符串(str)
Python中凡是用引号引起来的数据都可以称为字符串类型,组成字符串的每个元素称为字符,将这些字符一个一个连接起来,然后在用引号起来就是字符串。字符串主要用于储存少量简单的数据,并进行相应的操作。
(点击查看大图)
字符串的索引与切片
组成字符串的字符从左至右依次排列,是有顺序的,从左至右依次报号(从零开始) :0,1,2,3...
索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推。
s = 'ABCDEFGHIJK'
s1 = s[0]
print(s1, type(s1)) # A <class 'str'>
# 对字符串进行索引,切片出来的数据都是字符串类型
print(s[2]) # C
print(s[-1]) # K
(左右滑动查看完整代码)
切片就是通过索引(索引头:索引尾:步长)截取字符串的一段,形成新的字符串(原则就是取头不取尾)。
s = 'ABCDEFGHIJK'
print(s[0:3]) # ABC
# 也可以写成s[:3] 从开头开始取,0可以默认不写
print(s[2:5]) # CDE
print(s[:]) # ABCDEFGHIJK 默认到最后
print(s[:-1]) # ABCDEFGHIJ
# -1 是列表中最后一个元素的索引,但是要满足取头不取尾的原则,所以取不到K元素
print(s[:5:2]) # ACE 加步长
print(s[-1:-5:-2]) # KI 反向加步长
print(s[::-1]) # KJIHGFEDCBA 倒序全部取出来
(左右滑动查看完整代码)
字符串的常用操作方法
不会对原字符串进行任何操作,都是产生一个新的字符串。
'''
upper 字母转大写
lower 字母转小写
'''
s = 'abcDEFGhijk'
s1 = s.upper()
s2 = s.lower()
print(s1, type(s1)) # ABCDEFGHIJK <class 'str'>
print(s2) # abcdefghijk
'''应用'''
username = input('请输入用户名:')
password = input('请输入密码:')
code = 'QweA'
your_code = input('请输入验证码(不区分大小写):')
if your_code.upper() == code.upper():
if username == 'pamela' and password == '123':
print('登录成功')
else:
print('用户名或密码错误')
else:
print('验证码错误')
(左右滑动查看完整代码)
'''
startswith 判断是否以...开头
endswith 判断是否以...结尾
'''
s = 'ABCDEFGHIJK'
print(s.startswith('A')) # True
print(s.startswith('ABC')) # True
print(s.endswith('1')) # False
print(s.startswith('D', 3, 6)) # True 按切片判断是否以...开头
(左右滑动查看完整代码)
'''
replace 替换
还可指定替换次数
'''
s = 'ABCD,EFGH,ABCDIJK'
s1 = s.replace('ABCD', '1234') # 默认全部替换
print(s1) # 1234,EFGH,1234IJK
s2 = s.replace('ABCD', '1234', 1) # 指定替换次数
print(s2) # 1234,EFGH,ABCDIJK
(左右滑动查看完整代码)
'''
strip 去除字符串两边指定的字符
默认去除字符串两边的空白(空格、制表符\t、换行符\n)
'''
s =' \nABC\t'
s1 = s.strip() # 去空白
print(s1) # ABC
s ='qweABCrtq'
s2 = s.strip('qwert') # 去除指定的字符
print(s2) # ABC
(左右滑动查看完整代码)
'''
split 按指定元素分割,返回一个列表(默认按空格分割)
返回的列表不含有这个分割的元素
还可指定分割次数
str --> list
'''
msg ='My name is pamela'
msg1 = msg.split() # 默认按空格分割
print(msg1) # ['My', 'name', 'is', 'pamela']
s ='ABCD,EFGH,IJKL'
s1 = s.split(',') # 按指定元素分割
print(s1) # ['ABCD', 'EFGH', 'IJKL']
s2 = s.split(',', 1) # 指定分割次数
print(s2) # ['ABCD', 'EFGH,IJKL']
(左右滑动查看完整代码)
'''
join 按指定元素连接字符串
list --> str
注意:列表中的元素必须都是字符串类型
'''
s ='ABCD'
s1 = ','.join(s) # 字符串按指定元素拼接
print(s1) # A,B,C,D
l = ['A', 'B', 'C', 'D']
l1 = ' '.join(l) # 列表按指定元素拼接
print(l1) # A B C D
(左右滑动查看完整代码)
'''
count 统计字符串中元素出现的个数
'''
s ='aBCDaEFGaHIJK'
s1 = s.count('a')
print(s1, type(s1)) # 3 <class 'int'>
(左右滑动查看完整代码)
'''
format 格式化输出
'''
name = 'pamela'
age = 18
msg1 = '我是{},今年{}'.format(name, age)
print(msg1) # 我是pamela,今年18
msg2 = '我是{0},今年{1},我是{0}'.format(name, age)
print(msg2) # 我是pamela,今年18,我是pamela
msg3 = '我是{name},今年{age}'.format(age=age, name=name)
print(msg3) # 我是pamela,今年18
(左右滑动查看完整代码)
'''
isalnum 判断字符串是否由字母或数字组成
isalpha 判断字符串是否只由字母组成
isdecimal 判断字符串是否只由十进制组成
'''
s = 'abc123'
print(s.isalnum()) # True
print(s.isalpha()) # False
print(s.isdecimal()) # False
'''应用'''
money = input('请输入金额:')
if money.isdecimal():
print(int(money))
else:
print('输入有误')
(左右滑动查看完整代码)
'''
寻找字符串中的元素是否存在
find 返回找到的元素的索引,找不到返回-1
index 返回找到的元素的索引,找不到报错
'''
s = 'ABCDEFGHIJK'
s1 = s.find("123", 1, 6)
print(s1) # -1
s2 = s.index("CD", 1, 6)
print(s2) # 2
(左右滑动查看完整代码)
'''
captalize 首字母大写
swapcase 大小写翻转
title 每个单词的首字母大写
'''
s = 'abcD EFGh ijK'
print(s.capitalize()) # Abcd efgh ijk
print(s.swapcase()) # ABCd efgH IJk
print(s.title()) # Abcd Efgh Ijk
(左右滑动查看完整代码)
'''
center 原字符串居中,并使用指定字符填充至指定长度
默认填充字符为空格
'''
s = 'abcD EFGh ijK'
print(s.center(20)) # abcD EFGh ijK
print(s.center(20, "*")) # ***abcD EFGh ijK****
(左右滑动查看完整代码)
相关资源