基本数据类型与内置方法
整型
基本方法
用途:一般用于定义整数,年龄,qq
定义方式:
age=18 and age=int(18)
常用方法:
数字计算:
进制之间的转换:
其他进制转10进制:
二进制转十进制:0,1
110 1*2*2+1*2+0*1=6
八进制转十进制:0-7
123 1*8*8+2*8+3*1=83
十六进制转十进制:0-9,a-f
321 3*16*16+2*16+1*1=801
10进制转其他进制:0-9
十进制转二进制:
print(bin(108)) 0b1101100 0b:指代二进制
十进制转八进制:
print(oct(83)) 0o123 0o:指代八进制
十进制转十六进制:
print(hex(1000)) 0x3e8 0x:指代十六进制
类型总结:
什么是有序的:有索引的类型都是有序的
什么是可变和不可变: 值变id不变,是可变类型
值变id变,是不可变类型
整型是无序的,不可变的,存一个值
浮点型
用途:用于记录小数,身高,体重和薪资等
定义方法: height=1.0 height = float(1.0)
常用方法:
数字计算
s1='1' print(float(s1))1.0
s1 = '1.0'
a=int(s1)
print(a)
Traceback (most recent call last):
File "F:/python_work/python_oldboyedu_learn/Oldboyedu_python/python_base.py", line 515, in <module>
a=int(s1)
ValueError: invalid literal for int() with base 10: '1.0'
s1 = '1.0' s1 = float(s1) a = int(s1) print(a) 1
类型总结: 无序,不可变,存一个值
字符串
用途:用于存储一些描述性信息,名字
定义方式:
第一种:s1='a'
第二种:s2=''b''
第三种:s3='''c'''
s4=''''''d'''''''''
无区别,不能混用
补充:小写的r+字符串,代表转义
# 因为反斜杠是转义符,所以两个"\\"就表示一个反斜杠符号
str1 = r'C:\Users\Public\Desktop\QQ音乐.lnk'
print(str1.split('\\'))
['C:', 'Users', 'Public', 'Desktop', 'QQ音乐.lnk']
常用方法:
1.索引取值:(正向,反向取都可以)只能去不能存
s1 = 'hello world' print(s1[4]) # 正向取值 print(s1[-7]) # 反向取值 o o
2.索引且片:
切片:截取字符串中的小段字符串
s1 = 'hello world' # print(s1[4]) # 正向取值 # print(s1[-7]) # 反向取值 print(s1[2:5]) print(s1[4:]) print(s1[:5]) print(s1[0:-2:2]) print(s1[::-1]) # 反向打印 llo o world hello hlowr dlrow olleh
3.成员运算:in ,not in
print('o' in s1)
print('o' not in s1)
True
False
4.strip()
input无论接收的是什么类型,一定返回的是字符串,去除字符串内的左右两边的空格,中间不算
s1 = ' hello world 'print(len(s1))print(s1.strip())print(len(s1.strip()))
15
hello world
11
可以指定去除:
s1 = '@@@hello@world@@@'
print(s1.strip('@'))
hello@world
5.split()
切分:对字符串进行切分,可以指定切分的分隔符,返回的是一个列表
a1 = 'godlover/18/male'
print(a1.split('/'))
['godlover', '18', 'male']
6.len()
获取当前数据中的元素的个数
a1 = ' hello ' print(len(a1)) 7
需要掌握的:
rstrip() 删除左边空格
lstrip() 删除右边空格
upper() 全部大写
lower() 全部小写
title() 首字母大写
7.endswith() \ startswith() :判断当前字符串是否以(。。。)开头,或者以(。。。)结尾,返回布尔值
8.r.split() 可以指定切分的次数
s1 = 'name,age,gender'
print(s1.rsplit(',',1))
['name,age', 'gender']
9.join()
将列表每个元素按照前面字符串中的分隔符进行拼接
l1 = ['sean', '18', 'male']
print('\\'.join(l1))
sean\18\male
10.replace()
将字符串中的元素进行替换,参数,先写老的元素再写新的元素
s1 = 'sean,18'
print(s1.replace('sean','godlover'))
godlover,18
11.isdigit() : 判断当前字符串中的数据,是否是一个数字,返回布尔值
s1 = 'asd' print(s1.isdigit()) s2 = '123' print(s2.isdigit()) False True
12.find()
查找当前字符串某个元素的位置,返回索引,找不到返回-1,从左往右找
s1 = "你今天吃饭了么?"
print(s1.find('吃饭'))
print(s1.find('吃'))
print(s1.find('喝'))
3
3
-1
rfind():从右往左找
可以指定位置,find('?', , )
s1 = "你今天吃饭了么?"
# print(s1.find('吃饭'))
# print(s1.find('吃'))
# print(s1.find('喝'))
print(s1.find('了',0,6))
print(s1.find('了',0,4))
5
-1
13.index()
查找当前字符串某个元素的位置,返回索引,找不到返回异常,从左到右
s1 = '你是谁啊 ?'
print(s1.index('啊'))
3
s1 = '你是谁啊 ?'
# print(s1.index('啊'))
print(s1.index('我'))
Traceback (most recent call last):
File "F:/python_work/python_oldboyedu_learn/Oldboyedu_python/python_base.py", line 583, in <module>
print(s1.index('我'))
ValueError: substring not found
找不到值,返回异常
rindex():从右往左找
14.count():统计当前字符串中某一个元素的个数
s1 = '你昨天吃了什么,今天又吃了什么?'
print(s1.count('吃'))
2
15.center(),ljust(),rjust(),zfill()
print("欢迎光临".center(20, '*'))
print("欢迎光临".ljust(20, '*'))
print("欢迎光临".rjust(20, '*'))
print("欢迎光临".zfill(20))
********欢迎光临********
欢迎光临****************
****************欢迎光临
0000000000000000欢迎光临
16.is系列
isdigit: unnicode,bytes
类型总结:
有序,不可变,存一个值
列表
用途:用于存一个或多个不同类型的值
定义:通过中括号存值,每个值之间通过逗号进行分隔
常用方法
1.索引取值:
正向取值,反向取值都可以,不仅可取,还可以以存
l1 = [1, 2, 3, 4, 5] print(l1[2]) l1[2] = 222 print(l1) 3 [1, 2, 222, 4, 5]
2.索引切片
参考字符串索引切片
3.append()
追加值,只能追加到最后一位,一次性只能添加一个值
l1 = [1, 2, 3, 4, 5] print(l1) l1.append(10) print(l1) [1, 2, 3, 4, 5] [1, 2, 3, 4, 5, 10]
4.insert()
插入值,通过索引指定,插入的位置
l1 = [1, 2, 3, 4, 5] # print(l1) # l1.append(10) # print(l1) print(l1) l1.insert(3,11) print(l1) [1, 2, 3, 4, 5] [1, 2, 3, 11, 4, 5]
5.extend()
添加多个值,传入可迭代对象
l1 = [1, 2, 3, 4, 5] print(l1) l1.extend([10,11,12]) print(l1) [1, 2, 3, 4, 5] [1, 2, 3, 4, 5, 10, 11, 12]
6.remove()
指定值删除,比较删除
l1 = [1, 2, 3, 4, 5] # print(l1) # l1.extend([10,11,12]) # print(l1) l1.remove(1) print(l1) [2, 3, 4, 5]
7.pop()
不传值,默认从最后开始删,指定索引删除,有返回值
l1 = [1, 2, 3, 4, 5] print(l1.pop()) print(l1) 5 [1, 2, 3, 4]
l1 = [1, 2, 3, 4, 5] # print(l1.pop()) # print(l1) l1.pop(2) print(l1) [1, 2, 4, 5]