基本数据类型及内置方法
基本数据类型及内置方法数据类型是用来记录事物状态的,而事物的状态是不断拜年话的(如:一个人年龄的增长(操作int类型)),单个人名的修改(操作str类型),学生列表中增加学生(操作list类型)等),这意味着我们在开发程序时需要频繁对数据进行操作,为了提升我们的开发效率,python针对这些常用的操作,为每一种数据类型内置了一系列方法数字类型int与float
整数(int)
用途:一般用于定义整数:年龄、身份证号、qq号
定义方法:age = 18 & age = int(18)
常用方法:数学计算
进制之间转换
二进制转十进制
110的二进制转十进制
print(int("110", 2))
6
八进制转十进制
123的八进制转十进制
print(int("123", 8))
83
十六进制转十进制
321的十六进制转十进制
print(int("321", 16))
801
十进制转其他进制
108的十进制转二进制
print(oct(108))
0b1101100
83的十进制转八进制
print(oct(83))
0o123
1000的十进制转十六进制
print(hex(1000))
0x3e8
整型总结:
有序or无序:有索引的类型都是有序的 正序是无序的
可变or不可变:int整型是不可变类型
可变不可变的区分是:
值变id不变就是可变类型
值变id也变就是不可变类型
浮点型(float)
用途:用于记录小数、身高、体重、薪资
定义方法:height = 1.0 & height = float(1.0)
常用方法:数学计算
s1 = '1.0'
f1 = float(s1)
print(f1)
print(type(f1))
a1 = int(f1)
print(a1)
1.0
<class 'float'>
1
浮点型数字不能直接转义为整型,需要先转打印浮点型,再转义为整型
浮点型总结
有序or无序:无序
可变or不可变:不可变
存一个值or存多个值:存一个值
字符串
用途:用于存储一些描述性性信息,名字
定义方式:
第一种:s1 = '大象'
第二种:s2 = "大象2"
第三种:s3 = '''大象3'''
第四种:s4 = """大象4"""
补充:字符串前面加一个小写的r,代表转义
1、索引取值(正向取、反向取),只能取不能存
取hello里面的o字母
s1 = 'hello world'
print(s1[4]) # 正向取
print(s1[-7]) # 反向取
2、索引切片:截取字符串中的一小段字符串
s1 = 'hello world'
截取llo怎么截取
print(s1[2:5])
llo
截取o world怎么截取
print(s1[4:])
o world
截取hello怎么截取
print(s1[:5])
hello
怎么选择一个区间然后加步长截取
print(s1[0:-2:2])
hlowr
怎么反向截取
print(s1[::-1])
dlrow olleh
3:成员运算:in not in
s1 = 'hello world'
判断o是否在里面
print("o" in s1)
True
判断o是否不在里面
print("o" not in s1)
False
4:strp:去除字符串左右两边的空格,中间不算
python3中input无论接受的是什么类型,一定返回的是字符串
name = input("😊.strip()
print(len(name))
: ever
4
a1 = '$$$$sean$$$'
print(a1.strip("$"))
sean
5:split ,切分:对字符串进行切分,可以指定切分的分隔符,返回是一个列表
a1 = 'sean 18 male'
print(a1.split())
['sean', '18', 'male']
5:len():获取当前数据中的元素的个数
a1 = 'hello'
print(len(a1))
5
for:循环打印当前的元素
a1 = 'hello'
for i in a1:
print(i)
h
e
l
l
o
需要掌握的知识点
1.strip,rstrip,lstrip
strip:移除左右两边指定字符
rstrip:移除右边指定字符
lstrip:移除左边指定字符
inp = input(">>:").lstrip(" ")
print(inp)
print(len(inp))
: ever
ever
4
2.lower(),upper()
lower():将英文字符串全部变小写
upper():将英文字符串全部变大写
s1 = 'Hello world'
print(s1.upper())
print(s1.lower())
HELLO WORLD
hello world
3:startswith\endswith 判断当前字符串是否以xx开头,或以xx结尾,返回的一定是布尔值
s1 = “Hello world”
print(s1.startswitch("He"))
print(s1.endswitch("ld"))
print(s1.startswitch("he"))
True
True
False
4.format()
name = 'sean'
age = 19
print("你的名字是:",name,"你的年龄是,",age)
print("你的名字是:{},你的年龄是:{}".format(name,age))
print("你的名字是:{1},你的年龄是:{0}".format(name,age))
print("你的名字是:{name},你的年龄是:{age},{gender}".format(age=age,name=name,gender='male'))
你的名字是: sean 你的年龄是, 19
你的名字是:sean,你的年龄是:19
你的名字是:19,你的年龄是:sean
你的名字是:sean,你的年龄是:19,male
5:f-string
通过大括号接收变量,在字符串前面一定要加一个小写f 在python3.6以后才有
print(f"你的名字是:{name},你的年龄是:{age}")
6:split\rsplit
s1 = "name,age,gender"
print(s1.split(",",1)) # 可以指定切分的次数
['name', 'age,gender']
7:join 将(列表)中某个元素按照前面字符串中的分隔符进行拼接
l1 = ['sean','18','male']
print("|".join(l1))
sean|18|male
8:replace:将字符串中的元素进行替换,参数,先老值,再新值
s1 = 'sean,18'
print(s1.replace("sean", '大象'))
大象,18
9:isdigit() 判断当前字符串中的数据,是否是一个数字,返回布尔值
score = input("please input your score:")
if score.isdigit():
score = int(score)
if score >= 90:
print('优秀')
else:
print("你tmd能不能好好输")
输入90时
优秀
输入da
你tmd能不能好好输
字符串总结:
有序or无序:有序
可变or不可变:不可变类型
存一个值or存多个值:存一个值
10:find\rfind\index\rindex\count
find:查找当前字符串中某个元素的位置,返回索引,找不到返回-1
s1 = '你今天吃饭吃了吗?'
print(s1.find("?",))
8
index :查找当前字符串中某个元素的位置,返回所有,找不到返回异常
s1 = '你今天吃饭吃了吗?'
print(s1.index("?"))
8
count:统计当前字符串中某个元素的个数
s1 = '你今天吃饭吃了吗?'
print(s1.count("吃"))
2
center\ljust\zfill
center
print("欢迎光临".center(8, "-"))
--欢迎光临--
ljust
print("欢迎光临".ljust(30, "-"))
欢迎光临--------------------------
rjust
print("欢迎光临".rjust(30, "-"))
--------------------------欢迎光临
zfill
print("欢迎光临".zfill(10))
000000欢迎光临
tmale \tfemale
s1 = """
sean\t18\tmale\t
tank\t84\tfemale\t
"""
print(s1.expandtabs())
print(s1.expandtabs())
sean 18 male
tank 84 female
sean 18 male
tank 84 female
is 系列
a = b'10'
b = '10'
c = '十'
d = 'IV'print(type(a))
print(b.isnumeric())
print(c.isnumeric())
print(d.isnumeric())
print(a.isdigit())
print(b.isdigit())
True
True
False
True
True