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 = 10print(num.bit_length())  # 当十进制用二进制表示时,最少使用的位数# 运行结果: 4

(左右滑动查看完整代码)




布尔值(bool)

布尔值就两种:True,False。一般用于判断真假。

(点击查看大图)



数据类型转换(int、str、bool)

'''int <---> bool'''
# int ---> boolnum1 = 100print(bool(num1)) # True (非零即True)num2 = 0print(bool(num2)) # False (零即False)
# bool ---> intt = Trueprint(int(t)) # 1 (True --> 1)t = Falseprint(int(t)) # 0 (False --> 0)

(左右滑动查看完整代码)



'''int <---> str'''
# int ---> strnum = 100print(str(num)) # '100'
# str ---> int # 全部由数字组成的字符串才可以转化成数字s1 = '90'print(int(s1)) # 90

(左右滑动查看完整代码)



'''str <---> bool'''
# str ---> bools1 = 'pamela'print(bool(s1)) # True (非空即True)s2 = ' ' # 空格print(bool(s2)) # Trues3 = '' # 空字符串print(bool(s3)) # False (空即False)
# bool ---> str 无意义t1 = Trueprint(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]) # Cprint(s[-1]) # K

(左右滑动查看完整代码)



切片就是通过索引(索引头:索引尾:步长)截取字符串的一段,形成新的字符串(原则就是取头不取尾)。

s = 'ABCDEFGHIJK'print(s[0:3]) # ABC # 也可以写成s[:3] 从开头开始取,0可以默认不写
print(s[2:5]) # CDEprint(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')) # Trueprint(s.startswith('ABC')) # Trueprint(s.endswith('1')) # Falseprint(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()) # Trueprint(s.isalpha()) # Falseprint(s.isdecimal()) # False

'''应用'''money = input('请输入金额:')if money.isdecimal(): print(int(money))else: print('输入有误')

(左右滑动查看完整代码)



'''寻找字符串中的元素是否存在find 返回找到的元素的索引,找不到返回-1index 返回找到的元素的索引,找不到报错'''
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 ijkprint(s.swapcase()) # ABCd efgH IJkprint(s.title()) # Abcd Efgh Ijk

(左右滑动查看完整代码)



'''center 原字符串居中,并使用指定字符填充至指定长度    默认填充字符为空格'''
s = 'abcD EFGh ijK'print(s.center(20)) # abcD EFGh ijK print(s.center(20, "*")) # ***abcD EFGh ijK****

(左右滑动查看完整代码)




相关资源