总结五

一.数字类型

1.整型 int

作用:记录qq号,手机号,银行卡号等
定义方式:age = 18 # age = int(18)
int('cxkjntm') 报错
int('1.1') 报错
int('110') # int只能转纯数字的字符串,小数点都不行

进制转换
其他进制转10进制
二进制转十进制 0,1
10 # 1*(2**1)+0*(2**0) 2
八进制转十进制 0-7
258 # 2*(8**2)+5*(8**1)+8*(8**0) 176
十六进制转十进制 0-9 A-F
222 # 2*(16**2)+2*(16**1)+2*(16**0) 546
print(int('1100',2)) 12 # 第二个参数,表达的是第一个参数是什么进制,然后转成十进制
print(int('14',8)) 12
print(int('c',16)) 12

十进制转成其他进制
十进制转成二进制
print(bin(12)) # 0b1100 0b表示的数字是二进制数
十进制转八进制
print(oct(12)) # 0o14 0o表示后面的数字是八进制数 14 >>> 1*(8**1)+4*(8**0)
十进制转十六进制
print(hex(12))# 0x表示后面的数字是十六进制

3.常用操作+内置的方法
存一个值
有序or无序
有序:但凡有索引的数据都是有序的
不可变

可变类型与不可变类型
可变类型:值改变的情况下,id不变,说明你改的是原值
不可变类型:值改变的情况下,id一定变

x = 10
print(id(x)) 1772515072
x = 11
print(id(x)) 1772515104

2.浮点型
作用:薪资 身高 体重
salary = 10086.6 # float(10086.6)
res = float('10086.6')
print(type(res))

二.字符串类型 str

用途:描述性
定义方式:'',"",""" """
s = 'hi girl' # str('hi girl')
s1 = str([1,2,3,4])
print(type(s1))
s2 = str({'name':'tzz','password':16888})
print(type(s2))

按索引取值(正向取+反向取):只能取
s = 'hello ketty!'
print(s[0])

切片(顾头不顾尾,步长):从一个大的字符串中截取一段新的小字符串
左边的固定就是头,右边固定就是尾 没有说按数字来分头尾
print(s[0:5]) # hello
print(s[0:10:1]) # hello 步长不写默认是1
print(s[0:10:2]) # 步长表示隔几个取一个
了解负数取值
print(s[-1])
print(s[0:5:-2]) # 切片取值默认是从左往右的
print(s[5:0:-1]) # 切片取值默认是从左往右的
print(s[-1:-10:-1])

长度len:统计的是字符串中字符的个数
s1 = ' '
print(len(s1))
1

成员运算in和not in:判断一个子字符串是否存在于一个大的字符串中
print('tzz' in 'tzz is a smat boy and tzz is so nb')
print('t' in 'tzz is a smart boy and tzz is so nb')
print('dmh' not in 'tzz is a smart boy and tzz is so nb')

去掉字符串左右两边的字符strip,不管中间的
username = input('>>>:').strip()
if username == 'tzz'
print('smart boy')
strip() 默认去除字符串首尾的空格
使用内置的方法统一采用 句点符(.)
name1 = 'tzz'
name2 = ' tzz '.strip()
print(name1 == name2)
name3 = '$$$$tz$z$$$$'
print(name3.strip('$'))
了解即可
name4 = '& ¥#tzz&*)'
print(name4.strip('% ¥#)'))

rstrip() lstrip()
name5 = '$$$$tzz$$$$'
print(name5.lstrip($)) #left 左边
print(name5'rstrip($)) #right 右边

切分split:针对按照某种分隔符组织的字符串,可以用split将其切分成列表,进而进行取值
data = 'tzz n|123| smart wow'
print(data.split('|'))
username,password,info = data.split(|)
强调:split切分出来的数据类型是一个列表
print(data.split('o')) # 切割的顺序其实从左往右的
print(data.split('o',1)) # 切割的顺序其实从左往右的
print(data.rsplit('0',1)) # 切割的顺序其实从左往右的
如果不指定那么split和rsplit效果是一样

循环
data = 'tzz n|123| smart wow'
for i in data:
print(i)

需要掌握的
1.strip,lstrip,rstrip
2.lower,upper
s = 'TzZZzT'
res = s.lower()
print(res)
print(s)
print(s.upper())
print(s)
调用字符串的方法并没有改变字符串本身

3.startswith,endswith
s1 = 'tzz is smart'
print(s1.startswith('t')) #判断字符串是否以什么开头
print(s1.startswith('z')) #判断字符串是否以什么结尾

4.format的三种玩法(python推荐使用format做格式化输出)
第一种 按位置占位 跟%s原理一致
str1 = 'my name is {} my age is {}'.format('tzz',18)
str1 = 'my name is {} my age is {}'.format(18,'tzz')
print(str1)
第二种 按索引占位
str1 = 'my {1} name is {0} my {0}age is {0}'.format('tzz',18)
print(str1)
第三种 指名道姓占位(关键字传参)
str1 = 'my {name} name is {age} my {name} age is {name}'.format(name='tzz',age=18)
print(str1)

5.split rsplit
6.join
data = 'tzz|123|smart'
res_list = data.split('|')
print(res_list)

res_str = '$'.join(res_list)
print(res_list)
l = ['1','a','b']
res = '|'.join(l)
print(res)

7.replace
str = 'tzz is smart boy and tzz is very nb'
rese = str.replace('tzz','cxk',l)
print(res)
print(str)

8.isdigit # 判断字符串中包含的是否为纯数字
while True:
age = input('>>>:')
if age.isdigit():
age = int(age)
if age > 35:
print('阿姨好')
else:
print('girl加微信')

需要了解的内置方法
1.find,rfind,index,rindex,count
s = 'tzz is a smart boy o and tzz is very nb'
print(s.find('tzz')) # 返回的是t字符所在的索引值
print(s.find('xxx')) # 找不到的时候不报错 返回的是-1
print(s.finf('z',0,3)) # 还可以通过索引来限制查找范围
print(s.index('o')) # 返回所传字符所在的索引值
print(s.index('z',0,3)) # 返回所传字符所在的索引值
print(s.count('n')) # 统计字符出现的次数

2.center,ljust,rjust,zfill
s9 = 'tzz'
print(s9.center(12,'*'))
print(s9.ljust(40,'$'))
print(s9.rjust(40,'$'))
print(s9,rjust(40,' '))
print(s9.zfill(40))

3.expandtabs
s10 = 'a\tbc'
print(s10.expandtabs(100))

4.captalize,swapcase,title
s12 = 'hElLo WoRLD sH10'
print(s12.capitalize()) # Hello word 首字母大写
print(s12.swapcase()) # 大小写互换
print(s12.title()) # 每个单词的首字母大写

5.is数字系列
num1=b'4' # bytes
num2=u'4' # unicode,python3中无序加u就是unicode
num3='壹' # 中文数字
num4='IV' # 罗马数字
''.isnumeric() : unicode,中文数字,罗马数字 只要是表示数字都识别
print(num2.isnumeric())
print(num3.isnumeric())
print(num4.isnumeric())

# ''.isdecimal(): unicode 只识别普通的阿拉伯数字
print(num2.isdecimal())
print(num3.isdecimal())
print(num4.isdecimal())

# ''.isdigit() :bytes,unicode 通常情况下使用isdigit就已经满足需求了
print(num1.isdigit())
print(num2.isdigit())
print(num3.isdigit())
print(num4.isdigit())


常用操作+内置的方法
存一个值
有序(有序:但凡有索引额数据都是有序的)
不可变类型

三.列表

作用:多个装备,多个爱好,多个女朋友等

定义:[ ]内可以有多个任意类型的值,逗号分隔

# my_girl_friends=['alex','wupeiqi','yuanhao',4,5] #本质my_girl_friends=list([...])
# 或
# l=list('abc')
# l1=list({'name':'jason','password':'123'})
# print(l1)
# list内部原理就是for循环取值 然后一个个塞到列表中去


#优先掌握的操作:
#1、按索引存取值(正向存取+反向存取):即可存也可以取
# l = [1,2,3,4]
# print(l[0:4:1])
# print(l[0::])
# print(l[5::-1])
# print(id(l))
# l[0] = 69
# print(id(l))
# print(l)
#2、切片(顾头不顾尾,步长)
l = [11,22,33,44,55]
l1 = [99,88,77,66]
# [11,22,33,44,55,99,88,77,66]

# 1.尾部添加一个66
# l.append(66) # 注意append值能将被添加的数据当作列表的一个元素
# print(l)

# 2.任意位置添加元素
# l.insert(2,96) # 通过索引在任意位置添加元素
# print(l) # 注意insert值能将被添加的数据当作列表的一个元素

# 3.添加容器类型数据
# l.append(l1)
# l.insert(-1,l1)
# l.extend(l1) # 内部原理for循环l1一个个追加到列表的尾部
# l.extend([1,])
# print(l)

#3、长度
# print(len(l))
#4、成员运算in和not in
# print( 444 in l)
#5、往列表中添加元素(******)
# append
# insert
# extend

#6、删除
# print(l)
# del l[2] # del适用于所有的删除操作
# print(l)

 

# res1 = l.pop() # 尾部弹出
# res2 = l.pop()
# res3 = l.pop()
# print(res1,res2,res3)


# res1 = l.pop(0) # 可以指定索引 按照索引弹出元素
# print(res1)


# res = l.remove(33) # 指定要删除的元素的值
# print(l)
# print(res)

# s = 'haha'
# print(s)
# del s
# print(s)
#7、循环
for i in l:
print(i)

posted @ 2019-07-09 09:54  二哈强拆Python世界  阅读(147)  评论(0编辑  收藏  举报