python进阶教程day_【0802 | Day 7】Python进阶(一)

写在开篇:

可变:变量值发生改变,id地址不变【在原来的基础上】

不可变:变量值发生改变,id地址改变【开辟新的空间】

数字类型的内置方法

数字类型分为整型和浮点型。

一、整型内置方法(int)

用途:年龄、id、级别等

定义:可以使用int( )方法将纯数字的字符串转为十进制的整型

age = 19age= int(10)print(type(age))

​#

x = int('111')print(type(x))

​#

x = int('11.1')print(x)

​#报错,int(字符串需为整数)

常用操作+内置方法:算术运算+比较运算

有序or无序:

不存在有序无序之说

存值单个or多个:

单个

可变or不可变:

不可变

二、浮点型内置方法(float)

用途:薪资、身高、体重

定义:可以使用float()方法将纯数字的字符串转为浮点型数字

age = 3.1age= float(3.1)print(type(age))

​#

x = float('111')print(x)print(type(x))

​#111.0

#

x = float('11.1') #非纯数字的字符串 报错

print(type(x))

​#

常用操作+内置方法:算术运算+比较运算

有序or无序:

无有序无序之说

存单值or多值:

单值

可变or 不可变:

不可变

字符串类型内置方法

一、字符串类型内置方法(str)

b'101':二进制编码的字符串

r'\n':原生字符串,r会令字符串里的命令失效

name = 'nick's1= str(1.1)

s2= str([1,2,3])

​print(f's1:{s1},type:{type(s1)}')print(f's2:{s2},type:{type(s2)}')

​#s1:1.1,type:#s2:[1,2,3],type:

常用操作+内置方法:常用操作和内置方法分为优先掌握,需要掌握和其他操作三个部分

有序or无序:

只要是有索引的,都是有序的,因此字符串是有序的

存单值or多值:

单值

可变or不可变:

不可变

二、常用操作和内置方法

优先掌握:

按索引取值

切片

长度len

成员运算in | not in

移除空白

切分split

循环

1.索引取值

mm = 'hello nick'​print(f'索引为6:{mm[6]}')print(f'索引为-3:{mm[-3]}')

​#索引为6: n#索引为-3:i

2.切片

mm = 'hello nick'​print(f'切片3到最后:{m[3:]}')print(f'切片3-8:{mm[3:8]}')print(f'切片3-8,步长为2:{mm[3:8:2]}')print(f'切片3-最后,步长为2:{mm[3::2]}')

​print('\n**了解知识点**')print(f'切片所有: {mm[:]}')print(f'反转所有: {mm[::-1]}')print(f'切片-5--2: {mm[-5:-2:1]}')print(f'切片-2--5: {mm[-2:-5:-1]}'

#切片3-最后: lo nick#切片3-8: lo ni#切片3-8,步长为2: l i#切片3-最后,步长为2: l ik

​#**了解知识点**#切片所有: hello nick#反转所有: kcin olleh#切片-5--2: ni#切片-2--5: cin

3.长度len

mm = 'hello nick'

print(len(mm))

​#10

4.成员运算in or not in

mm = 'my name is nick, nick handsome'​print(f"'nick' in mm:{'nick' in mm}")print(f"'jason' not in mm:{'jason' not in mm}")print(f"not 'jason' in mm:{not 'jason' in mm}")

​#'nick' in msg: True#'jason' not in msg: True#not 'jason' in msg: True

5.移除空白strip( )

name = '&&&n ick'​print(f"name.strip('&'):{name.strip('&')"})print(f"name:{name}")

pwd= input('password:')if pwd.strip() == '123':print('密码输入成功')print(f"'*-& nick+'.strip('*-&+'):{'*-& nick+'.strip('*-& +')}")

​#name.strip('&'): n ick#name: &&&n ick#password: 123#密码输入成功#'*-& nick+'.strip('*-& +'): nick

6.切分split

info = 'nick:male:19'info_list1= info.split(':')

info_list2= info.split(':',1)

​print(f'info_list1:{info_list1}')print(f'info_list2:{info_list2}')

​#info_list1:['nick', 'male', '19']#info_list2:['nick', 'male:19']

7.循环

mm = 'hello nick'

for i inmm:print(i)#h#e#l#l#o#n#i#c#k

需要掌握:

lstrip&rstrip

lower&upper

startswith&endswith

rstrip

join

replace

isdigit

1.lstrip( )和rstrip( )

name = '&&nick&&'

print(f"{name.lstrip('&')}")print(f"{name.rstrip('&')}")

​#nick&&&nick

2.lower( )和upper( )

name = 'Nick Chen'

print(f'{name.lower()}')print(f'{name.upper()}')#nick chen#NICK CHEN

3.startswith( )和endswith( )

name = 'Nick Chen'

print(f'{name.startswith("Nick")}')print(f'{name.endswith("chen")}')

​#True#False

4.rsplit( )

info = 'nick:male:19'

print(f"{info.rsplit(':'),1}")#['nick:male','19']

5.join( )

lis = [1,2,'19']print(f"{':'.join(lis)}")

​#报错 数字和字符串不可拼接

lis= ['nick','male','19']print(f"{':'.join(lis)}")

​#nick:male:19

6.replace( )

name = 'nick shuai'

print(f"{name.replace('shuai','handsome')}")

​#nick handsome

7.isdigit( )

salary = '111'

print(salary.isdigit())

salary= '111.1'

print(salary.isdigit())

​#True#False

age = input('age:')ifage.isdigit():

age=int(age)if age < 18:print('小姐姐:)')else:print('阿姨好:)')else:print(f'你的年龄是这个{age}?')#结果一:

age: 18阿姨好:)#结果二:

age: 啊?

你的年龄是这个啊??

其他操作:

find | rfind | index |rindex | count

cente | ljust |rjust | zfill

expandtabs

captalize | swapcase | title

is 系列

1.find( )、rfind( )、index( )、rindex( )、count( )

mm = 'my name is tank, tank shi sb, hha'

print(f"{mm.find('tank')}")print(f"{mm.find('tank',0,3)}") #从0开始索引,3结束索引,找不到返回-1

print(f"{mm.rfind('tank')}")print(f"{mm.index('tank')}")print(f"{mm.rindex('tank')}")print(f"{mm.count('tank')}")

​#11#-1#17#11#17#2

注意:find找不到返回-1,index找不到直接报错

2.center( )、ljust( )、rjust( )、zfill( )

print(f"{'info nick'.center(50,'*')}") #放置中央

print(f"{'info nick'.ljust(50,'*')}") #调整*居左

print(f"{'info nick'.rjust(50,'*')}") #调整*居右

print(f"{'info nick'.zfill(50)}") #填充0居右

​********************info nick*********************info nick*****************************************

*****************************************info nick

00000000000000000000000000000000000000000info nick

3.expandtabs( )

print(f"a\\tb\\tc: %s" %('a\tb\tc\t'))print(f"'a\\tb\\tc'.expandtabs(32): %s" %('a\tb\tc\t'.eapandtabs(32))#a\tb\tc: a b c#'a\tb\tc'.expandtabs(32):a b c

注意:’ \ '加在‘ \t ’、' \n '等之前则命令失效,成为普通字符串

4.captalize( )、swapcase( )、title( )

name = 'nick handsome sWAPCASE'

print(f"name.capitalize(): {name.capitalize()}") #首字母大写,用在段落开始

print(f"name.swapcase(): {name.swapcase()}") #大小写互转

print(f"name.title(): {name.title()}") #所有单词首字母大写

Nick handsome sWAPCASE

NICK HANDSOME Swapcase

Nick Handsome Swapcase

5.is数字系列(只是为了告诉你,判断是否为数字时除了中文数字以后使用isdigit( )即可)

isdecimal(): 检查字符串是否值包含十进制字符,如果是返回True,否则返回False。

isdigit(): 如果字符串只包含数字则返回True,否则返回False。(重要)

isnumeric(): 如果字符串中只包含数字字符,则返回True,否则返回False。

num = "1" #unicode

num.isdigit() #True

num= "1" #全角

num.isdigit() #True

num= b"1" #byte

num.isdigit() #True

num= "IV" #罗马数字

num.isdigit() #True

num= "四" #汉字

num.isdigit() #False

​===================isdigit()

True: Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字

False: 汉字数字

Error: 无

​================

importunicodedata

unicodedata.digit("2") #2

unicodedata.digit("2") #2

unicodedata.digit(b"3") #TypeError: must be str, not bytes

unicodedata.digit("Ⅷ") #ValueError: not a digit

unicodedata.digit("四") #ValueError: not a digit

​#"〇","零","一","壱","二","弐","三","参","四","五","六","七","八","九","十","廿","卅","卌","百","千","万","万","亿"

6.is其他

salpha(): 如果字符串至少有一个字符并且所有字符都是字母则返回True,否则返回False。

islower(): 如果字符串中只包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回True,否则返回False。

isupper(): 如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回True,否则返回False。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值