python内点法_Python学习第五天基本数据类型及内部方法part1

一、可变类型与不可变类型

可变型:值变了,但ID没变,证明没有新生新的值而是在改变原值,原值是可变类型

y=['a','b','c']print(id(y))

y[0]='A'

print(y)print(id(y)) y的ID没变

不可变型:值变了,ID与变了,证明生成了新的值而不是在改变原值,原值是不可变类型

x=10

print(id(x))

x=11

print(id(x)) #x的ID发生改变

二、数字类型

整型

1、基本使用

(1)用途:记录年龄/等级/各种号码

(2)定义:age=18   age=int(age)

(3)常见操作和内置方法

赋值运算、比较运算、比较运算

2、该类型的总结

(1)只存一个值

(2)不可变

浮点型float

1、基本使用:

(1)用途:记录身高、体重、薪资

(2)定义方式:salary=1.3   salary=float(1.3)

(3)常用操作和内置方法:

赋值、比较、算术

2、该类型总结

(1)存一个值

(2)不可变

*了解:复数

y=['a','b','c']print(id(y))

y[0]='A'

print(y)print(id(y))

长整型

其他进制=》十进制

十进制=》其他进制

print(bin(13)) #十进制=>二进制

print(oct(13)) #十进制=>八进制

print(hex(13)) #十进制=>十六进制

三、字符串类型

1、基本使用

(1)用途:记录描述性质的特征,比如名字、地址、性别

(2)定义;在单引号、双引号、三引号内包含的一串字符

msg=''aaa'bbb'''

可以将任意类型转换成字符串

str(1)

str(1.3)

x=str([1,2,3])print(x,type(x)

(3)常用操作内置的方法

#1、按索引取值(正向取+反向取):只能取

msg='hello world'

print(msg[0])print(msg[5])print(msg[len(msg)-1])print(msg[-1])

#2、切片(顾头不顾尾):想要从一个大字符串中切除一个小字符串

msg='hello world'

print(msg[0:5])print(msg)print(msg[0:5:2]) #0 2 4

*了解

msg='hello world'

print(msg[-1:-5:1])print(msg[-1:-5:-1]) #d l r o

print(msg[0:5:1])

print(msg[-1::-1])#掌握

#3、长度len

字符串里元素的个数

#4、成员运算in和not in

msg='yangyuanhu 老师是一个非常虎的老师'

print('yangyuanhu' inmsg)print('虎' not inmsg)print(not '虎' in msg)

#5、移除字符串左右两边的字符strip:默认是去空格

pwd='1 23'res=pwd.strip(' ')print(res) #1 23

pwd=input('>>:').strip() #pwd='123'

if pwd == '123':print('密码输入正确')

pwd='******12*3****'

print(pwd.strip('*')) #12*3

pwd='****/&^**123**^*/*&'

print(pwd.strip('*/&^')) #123print(pwd.strip('*/&')) #^**123**^ #^**123**^

#6、切分split针对有规律字符串按照某个字符切成列表

info='yyhdsb|18|female'li=info.split('|',1)print(li)

#7、循环

msg='hello'

for item inmsg:print(item)

2、该类型总结

(1)存一个值

(2)有序

(3)不可变

s1='hello'

print(id(s1))

s1='world'

print(id(s1))

****需要掌握的操作(掌握)

1、strip、lstrip、rstrip

print('****egon***'.strip('*'))print('****egon***'.lstrip('*'))print('****egon***'.rstrip('*'))

2、lower、upper

print('AAAbbbb'.lower())print('AAAbbbb'.upper())

3、startswith,endswith

print('alex is sb'.startswith('alex'))print('alex is sb'.endswith('sb'))

4、format的三种玩法

5、split、rsplit

msg='a:b:c:d:e'

print(msg.split(':',1))print(msg.rsplit(':',1))

6、join

7、replace

msg='alex is alex alex is hahahaha'

print(msg.replace('alex','SB',1))

8、isdigit

print('123'.isdigit()) #只能判断纯数字的字符串

print('12.3'.isdigit())

*了解的操作

1、find、rfind、index、rindex、count

6  报错  -1   -1   报错    3

2、center、ljust、rjust、zfill

name=input('>>:').strip()print('egon'.center(50,'='))print(('%s' %name).center(50,'-'))

print('egon'.ljust(50,'='))print('egon'.rjust(50,'='))print('egon'.zfill(50))

3、expandtabs

print('hello\tworld'.expandtabs(5))

4、captalize、swapcase、title

print('hello world'.capitalize())print('Hello world'.swapcase())print('Hello world'.title())

5、is数字系列(能否识别里面的数字)

num1=b'4' #bytes

num2=u'4' #unicode,python3中无需加u就是unicode

num3='四' #中文数字

num4='Ⅳ' #罗马数字

isdigit:bytes,str

isdecimal:str

isnumberic:str,中文,罗马

6、is其他

print('aaasdfaA'.isalpha()) #纯字母组成的字符串

print('aaasdfaA123'.isalnum()) #字母或数字组成

print('aaasdfaA'.isalnum()) #字母或数字组成

print('123'.isalnum())print(' '.isspace())print('12'.isspace())

四、列表

1、基本使用

(1)用途:记录多个值,不如人的多个爱好

(2)定义方式:在【】内用逗号分隔开多个任意类型的值

li=[1,2,3] # li=list([1,2,3])

x=list('hello') ['h', 'e', 'l', 'l', 'o']

x=list({'a':1,'b':2,'c':3}) ['a', 'b', 'c']print(x)

(3)常用操作和内置的方法(重点)

#1、按索引存取值(正向存取+反向存取):即可存也可以取

li=['a','b','c','d']print(li[-1]) d

li[-1]='D'

print(li) ['a', 'b', 'c', 'D']

li[4]='e'['a','b','c','e']

delli[0]print(li) ['b', 'c', 'e']

#2切片(顾头不顾尾,步长)

li=['a','b','c','d']print(li[0:3]) ['a', 'b', 'c']

#3、长度

print(len(li)) 4

#4、成员运算in和not in

users=['egon','lxx','yxx','cxxx',[1,2,3]]print('lxx' inusers)print([1,2,3] inusers)print(1 in users)

#5、追加

li=['a','b','c','d']print(id(li))

li.append('e')

li.append([1,2,3])print(li,id(li))

31863624

['a', 'b', 'c', 'd', 'e', [1, 2, 3]] 31863624

#6、删除

# li=['a','b','c','d']

# 按照元素值去单纯地删除某个元素

# del li[1]

# res=li.remove('c')

# print(li) ['a','d']

# print(res) None

# 按照元素的索引去删除某个元素并且拿到该元素作为返回值

# res=li.pop(1)

# print(li) ['a', 'c', 'd']

# print(res) b

#7、循环

li=['a','b','c','d']for item inli:print(item)

2、该类型总结

(1)存多个值

(2)有序

(3)可变

print(hash([1,2,3])) 报错:TypeError: unhashable type: 'list'

***需要掌握的操作

li=['a','b','c','d','c','e']print(li.count('c')) 2

li.extend([1,2,3])

li.append([1,2,3])print(li) ['a', 'b', 'c', 'd', 'c', 'e', 1, 2, 3, [1, 2, 3]]

print(li.index('z')) 报错print(li.index('b')) 1print(li.index('d',0,3)) 报错

li=[3,1,9,11]

li.reverse()print(li) [11, 9, 1, 3]

li.sort(reverse=True)print(li) [11, 9, 3, 1]

队列:先进先出   q=[]

入队:

q.append('first')

q.append('second')

q.append('third')print(q) ['first', 'second', 'third']

出队:

print(q.pop(0))print(q.pop(0))print(q.pop(0))

堆栈:先进后出

q=[]

入栈:

q.append('first')

q.append('second')

q.append('third')

print(q) ['first', 'second', 'third']

出栈

print(q.pop(-1))print(q.pop(-1))print(q.pop(-1))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值