1 数字
用途:手机号码,不带字母的身份证号码,年龄等
定义方式:
age = 18
关于数字我们最常见的就是int()。int()可以整形成数字类型,但是在整形字符串时要注意,只能整形纯数字且不带小数点的数字。也可整形有符号数的字符串形式如
print('-1') -1
对于带小数点的数,我们可以用float(),经行整形
print(float('-1.1')) -1.1
进制转换
在python中不只有十进制数,还有二进制数,八进制数和十六进制数,进制转换是如何实现?
其他进制转十进制
# 二进制转十进制 10 # 1(2**1)+ 0*(2**1) # 八进制转十进制 235 # 2*(8**2)+ 3*(8**1)+5*(8**0) # 十六进制转十进制 217 # 2(18**2)+1(16**1)+7*(16**0)
十进制转其他进制转
# 十进制转二进制 print(bin(10)) # 0b表示二进制 # 十进制转八进制 print(oct(10)) # 0o表示八进制 # 十进制转十六进制 print(hex(10)) # 0x表示十六进制
print(int('1011', 2)) # 二进制转十进制,int可以传一个参数
print(int('11', 8)) # 八进制转十进制
print(int('11', 16)) # 十六进制转十进制
2 字符串
用途:信息描述
定义方式:' ', " ", ''' ''',
常用的操作
1,索引取值
practice = 'hello! meKing' print(practice[1]) e
2 字符串切片(正反切片):切片区间顾头不顾尾,八大字符串切取一个小的字符串
practice = 'hello! meKing' print(practice[1:5]) # 从第2到5个。字符串列表都是从0开始计算 ello
print(practice[1:5:1]) #在没有设置步长将默认为1 ello
print(practice[1:8:2]) #在设置步长为2是,从第一个索引值数到第七个,每两个截取一个值 eom
print(practice[1:5:-1]) #从右往左切 !oll
2 长度len():统计字符个数
practice = 'hello! meKing' print(len(practice)) 13
4 成员运算in 和 not in
print('a'in s) True
print('a 'not in s) False
4 去空格strip():默认去除字符串两边的数字
str1 = ' meKing ' print(str1.strip()) #去除meKing两边的空格 meKing
str2 = 'meKing' print(str2.strip('m')) #去除两边的‘m'字符 eKing
还有rstrip()从右边切 和 lstrip()从左边切。
5 切分split:针对某种分割符的字符串,可以用split切分成列表
str1 = 'name:meKing:123' print(str.split(':')
print(a.split(':')) # 切割顺序是从左往右切的 ['name', 'meKing', '123']
print(a.rsplit(':', 1)) # 切割顺序是从左往右切的 ['name:meKing', '123']
6 循环
支持for循环,将字符串中的内容,一个一个字节送出
str1 = '123456789' for i in str1: print(i,end=' ') 1 2 3 4 5 6 7 8 9
lower() #将字符串内地字母小写
upper() #将字符串的字母大写
startswith() #判断字符串以什么开始
endswith() #判断字符串以什么结尾
format() # 推荐使用的占位符 #第一种 按位置占位 str1 = 'my name is {} me age is {}'.format('meKing', 18) print(str1) my name is meKing me age is 18 #第二种按索引占位 str1 = 'my name is {0} me age is {0}'.format('meKing', 18) print(str1) my name is meKing me age is meKing #第三种 指名道姓展位(关键字传参) name = 'meKing' age = 18 str1 = 'my name is {} me age is {}'.format(name, age) print(str1) my name is meKing me age is 18
join():将序列中中的元素以指定的字符连接生成一个新的字符串
data = 'name:meKing:18'
data1 = data.split(':')
print(data1)
['name', 'meKing', '18']
print(''.join(data1))
namemeKing18
replace():替换
str1= 'name:meKing:18'
print(str1.replace(':', ',')) #将','替换':'.
name,meKing,18
istigit():判断字符串是不是无符号纯整数,
PS 字符串有三个特点:存一个值:在引号内的数据,对字符串来讲就是一个值
有序:字符串中的元素所占的字节,是有序的,可以通过索引查找
不可变类型:当字符串中的值改变是,id地址在也会改变
3 列表
用途:可装多个元素,字符串,数字,都可以
定义方式:将元素放入'[]'内,用','隔开.
常用操作
1 取值:按索引取值
list1 = [1, 2, 'a', 'b'] print(list1[3]) a
2 切片,在切片区间顾头不顾尾
list1 = [1, 2, 'a', 'b'] print(list1[0:3]) #切片区间(0 3) [1, 2, 'a'] print(list1[0:3:2]) #切片区间(0 3),步长为2,每两个切一下 [1, 'a'] print(list1[4:1:-1]) #反向切片 ['b', 'a']
3 长度len(),计数列表元素个数或列表长度
list1 = [1, 2, 'a', 'b'] print(len(list1))
4 成员运算in 和 not in
list1 = [1, 2, 'a', 'b'] print(1 in list1) Ture print(1 not in list1) False
5 追加
l = [1, 2, 'a', 'b'] l1 = [1, 2, 3, 4] l.append(l1) # 尾部添加 print(l) [1, 2, 'a', 'b', [1, 2, 3, 4]] l.insert(-1,l1) 指定位置添加 print(l) [1, 2, 'a', [1, 2, 3, 4], 'b'] l.extend(l1) # 将l1列表内的元素一个一个尾部添加l列表中 print(l) [1, 2, 'a', 'b', 1, 2, 3, 4]
6 删除
del+对象 #永久删除,其中数据 l = [1, 2, 'a', 'b'] a = l.pop(2) # 按照索引值删除,并且可以将删除值提出来使用 print(l) print(a) [1, 2, 'b'] b
7 循环
支持for循环,将以将列表元素遍历。
小试牛刀
# 写代码,有如下变量,请按照要求实现每个功能 (共6分,每小题各0.5分)
name = " aleX"
# 1) 移除 name 变量对应的值两边的空格,并输出处理结果
print(name.strip())
# 2) 判断 name 变量对应的值是否以 "al" 开头,并输出结果
print(name.startswith('al'))
# 3) 判断 name 变量对应的值是否以 "X" 结尾,并输出结果
print(name.endswith('X'))
# 4) 将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
print(name.replace('l','p'))
# 5) 将 name 变量对应的值根据 “l” 分割,并输出结果。
print(name.split('l'))
# 6) 将 name 变量对应的值变大写,并输出结果
print(name.upper())
# 7) 将 name 变量对应的值变小写,并输出结果
print(name.lower())
name = " aleX" # 8) 请输出 name 变量对应的值的第 2 个字符? print(name[2]) # 9) 请输出 name 变量对应的值的前 3 个字符? print(name[:3]) # 10) 请输出 name 变量对应的值的后 2 个字符? print(name[len(name)-2:len(name):1]) # 11) 请输出 name 变量对应的值中 “e” 所在索引位置? # 12) print(name.find('e')) # 获取子序列,去掉最后一个字符。如: oldboy 则获取 oldbo。 print(name[:len(name)-1])