整型与浮点型;进制转换;字符串类型;列表类型;

一、整型(int)
用途:用于存放qq号,手机号,不带字母的身份证号。
定义方式: age=18 # age=int(18)
#int(‘dfdgf’)返回结果会报错,或者 #int(34.6)返回结果也是报错
所以,int只能转换纯数字的字符串,英文字母和带小数点的都不行。

进制转换:
其它进制转换十进制:
1)二进制转换十进制:
10=1*(2**1)+0*(2**0)=2
2)八进制转十进制:
235=2*(8**2)+3*(8**1)+5*(8**0)=157

3)十六进制转十进制(0-9,A-F):
217=2*(16**2) + 1*(16**1) + 7*(16**0)
print(int('1100',2)) # int可以传第一个参数,表示的是第一个参数到底是什么进制 然后转成十进制
print(int('14',8))
print(int('c',16))


十进制转其它进制:
用除法,原数除以其它进制数,即是:十进制数转换十六进制就是除以16,转换成二进制数就是除以2等。
那么比如十进制数12转换成二进制就是'1100'

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

总结:整型就一个值,不存在有序或者无序,属于不可变类型,但凡有索引的数据都是有序的,比如说:列表

浮点型(float)
作用:薪资 身高 体重
salary = 1.1 # float(1.1)
res = float('1.11')
print(type(res))
浮点型数字的字符串,float能够识别出其中的小数点,并能将其转化为float类型。

可变类型:值改变的情况下,id不变,说明改的是原值
不可变类型:值改变的情况下,id一定变,改的不是原值,而是重新申请一片内存空间给新值。


2、字符串


是一段具有描述性的信息,用一对引号括起来,可以是任意类型的字符串,其中可以是字典,列表,数字等
#s = 'hello baby' # str('hello baby')
# s1 = str([1,2,3,4])
# print(type(s1))
# s2 = str({'name':'jason','password':123})
# print(type(s2))
1、按索引取值(正向取+反向取) :只能取,不能改值
# s = 'hello big baby~'
# print(s[0])
#2、切片 (顾头不顾尾,类似于range,格式是[x:y:z],x指定开头切的位置,y指定结尾切的位置,z代表步长(可以没有步长,代表从大字符串中直接截取一小段字符,步长为1时,可以不写,本来就是1)

# 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]) # 切片取值默认是从左往右的,与步长为-2相矛盾
# print(s[5:0:-1]) # 切片取值默认是从左往右的
# print(s[-1:-10:-1])


3、长度len
统计的是字符串中字符的个数,字符串中的空格也是字符串
s1 = 'gfdsgd'
print(len(s1))

4、成员运算in和not in
判断一个子字符串是否存在于一个大的字符串中。如果在,返回布尔值(bool)True,不在返回False。
print('egon' in 'egon is dsb and egon is sb') # True
print('g' in 'egon is dsb and egon is sb') # True
print('jason' not in 'egon is dsb and egon is sb') # True


5、.strip()

去掉字符串左右两边的字符".strip()",strip内部先从字符串左边清除指定内容,遇到别的字符停止,然后跳到右边删除指定内容。括号内为空时,表示删除字符串两边的空格。
username = input('>>>:').strip()
if username == 'jason':
print('good job')
strip()默认去除字符串首尾的空格
使用内置的方法统一采用 句点符(.)
name1 = 'jason'
name2 = ' jason '.strip()
print(name1 == name2)
name3 = '$$$$$eg$on$$$$'
print(name3.strip('$'))


了解即可

name4 = '% ¥#jason&*)'
print(name4.strip('% ¥#)'))
rstrip() lstrip()
name5 = '$$$$jason$$$$'
print(name5.lstrip('$')) # 表示清除左边指定的字符
print(name5.rstrip('$')) # 表示清除右边指定的字符
6、切分(split)

切分split:针对按照某种分隔符组织的字符串,可以用split将其切分成列表,进而进行取值
data = 'jaso n|123| handsome'
print(data.split('|'))
username,password,info = data.split('|') #解压赋值
print(username,password,info)
强调:split切分出来的数据类型是一个列表
print(data.split('o')) # 切割的顺序其实从左往右的
print(data.split('o',1)) # 切割的顺序其实从左往右的
print(data.rsplit('o',1)) # 切割的顺序其实从左往右的
如果不指定切割次数“1”,那么split和rsplit都是将字符串全部切割,至于从左还是从右切是在内部实现,而显现的出字符串的效果是一样
8、字符串大小写转换:.lower()、.upper()
lower是将字符串中的字母全部转换成小写;
upper将字符串中的字母全部转换成大写;

9、startwith和endwith是判断字符串是以什么字符开头的,返回值是TRUE或者FALSE。

10、format的三种玩法(python推荐使用format做格式化输出),在要站位的地方放置‘{}’,类似于直接用占位符%s和%d
1) 按位置占位 跟%s原理一致;
str1 = 'my name is {} my age is {}'.format('jason',18)
str1 = 'my name is {} my age is {}'.format(18,'jason',)
2)按索引占位,在指定大括号内输索引号,可以占随意站位;
str1 = 'my {1} name is {0} my {0} age is {0}'.format('egon',18)
3)第三种 指名道姓占位(关键字传参);
str1 = 'my {name} name is {age} my {name} age is {name}'.format(name='jason',age=18)

11、拼接(join)

data = 'jason|123|handsome'
res_list = data.split('|')
print(res_list)
res_str = '$'.join(res_list) # 将容器类型中的多个元素通过指定字符拼接成一个字符串
print(res_str)

12、replace(old,new,count) old是老的字符串,new是新的字符串,count代表替换次数
str = 'egon is dsb and egon is sb he has a BENZ'
res = str.replace('egon','kevin',1)
print(res)
print(str)
13、8、isdigit # 判断字符串中包含的是否为纯数字
while True:
age = input('>>>:')
if age.isdigit():
age = int(age)
if age > 28:
print('阿姨好')
else:
print('你他妈的能不能好好输')


需要了解的内置方法


#1、find,rfind,index,rindex 都是返回字符所在位置的索引值
s = 'kevin is dsb o and kevin is sb'
# print(s.find('dsb')) # 返回的是d字符所在的索引值
# print(s.find('xxx')) #
# print(s.find('i',0,3)) # 还可以通过索引来限制查找范围
# print(s.index('o')) # 返回所传字符所在的索引值
# print(s.index('i',0,3)) # 返回所传字符所在的索引值

count 计数
# print(s.count('n')) # 统计字符出现的次数

center

在原有字符串左右两边填充对称的指定字符
s9 = 'jason'
print(s9.center(11,'*')) 返回 ‘***jason***’


ljust

元字符串在左边,新指定字符串填充在右边,并加上原有字符串达到指定的数值个数
ps:print(s9.ljust(40,'$'))

rjust

同上,原字符串在右,新指定字符串填充在左边,并加上原有字符串达到指定的数值个数
ps:print(s9.rjust(40,' '))

zfill:"z"表示zero,用0填充,填充在原有字符串的右边

print(s9.zfill(40))

14、expandtabs
s10 = 'a\tbc' # \t代表扩展空格
#print(s10.expandtabs(100))

15、captalize 首字母转换为大写,其它字母转换为小写

s12 = 'hElLo WoRLD sH10'
print(s12.capitalize()) # Hello world

swapcase 字符串中大小写互换
name='zaHNg ChaO'
print(name.swapcase()) # ZAhnG cHAo


title 名字首字母转换为大写,其他转换为小写
name='zaHNg ChaO'
print(name.title()) #Zahng Chao
16、is数字系列
num1=b'4' #bytes,二进制数字
num2=u'4' #unicode,,计算机识别的数字,python3中无需加u就是unicode
num3='壹' #中文数字
num4='Ⅳ' #罗马数字
# ''.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())
所以,字符串存的是一个值,因为它是有索引的,所以是有序的;当用索引取值的时候,索引对应的值改不了;
在用内置方法的时候,并没有改变它本身,返回的结果是另外一个值。

list 列表
定义:[]内可以有多个任意类型的值,逗号分隔
列表的三种书写规范:
1)my_girl_friends=['alex','wupeiqi','yuanhao',4,5]
2)my_girl_friends=list([...])

3)l=list('abc')

list内部原理就是for循环取值 然后一个个塞到列表中去
1、按索引存取值(正向存取+反向存取):即可存也可以取
l = [1,2,3,4]
print(l[0:4:1])
print(l[0::]) 表示从0位(列表第一个数)开始计数,索取全部列表值,不写步长,即步长为1
print(l[5::-1]) —1表示反向取值,步长为1,取出列表中全部值
print(id(l))
l[0] = 69
print(id(l))
print(l)
2、切片(顾头不顾尾,步长)
l = [11,22,33,44,55]
l1 = [99,88,77,66]
1.尾部添加一个66
l.append(66) # 注意append值能将被添加的数据当作列表的一个元素
print(l)

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

3.添加容器类型数据
l = [11,22,33,44,55]
l1 = [99,88,77,66]
l.append(l1)
l.insert(-1,l1)
l.extend(l1) # 内部原理for循环l1一个个追加到列表的尾部 ,即是将两个列表添加到同一个列表
l.extend([45,]) #所以在l中添加45,45必须是一个容器,才能将45添加到l中
print(l)


4、del # del适用于所有的删除操作
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)



猜你喜欢

转载自www.cnblogs.com/zhangchaocoming/p/11129915.html