python基础第三天

数据类型的初识

1.数据类型的分类

1.数字 (int)

2.字符串(str)

3.列表(list)

4.元组(tuple)

5.字典(dic)

6.集合(set)

 

补充内容:

格式化输出: %r,以后会有使用

使用%r的时候,会引用原格式.即输入时什么样就这显示就什么样.

 

数据类型的转换

#int --> str

i = 4

i1 = str(i)

print(i1 , type(i1))

#int ---> bool

i = 0

i1 = bool(i)

print(i1 , type(i1))

i = 5

i2 = bool(i)

print(i2 , type(i2))

#str ---> bool

#str bool 空字符串为False,非空为True,里面只有空格的也是非空,现实True

i = "hsdhsdldlsd"

i2 = bool(i)

print(i2 , type(i2))

 

i = ""

i1 = bool(i)

print(i1 , type(i1))

 

字符串操作

索引 #字符串从左到右是以0开始,从右到左是以-1开始

s = 'oldboylala'

print(s[2])  

print(s[0])

print(s[-3]) 

print(s[122])   #索引超出范围就会报错

 

切片

print(s[0:2]) 

print(s[:2]) #对上面进行的简化,如果从头开始切片,则可省略

print(s[3:-3])

print(s[6:3])#什么也不会显示,错误的方法

print(s[-2-5])#无法取值

 

步长

print(s[1:7:2]) #表示:第一位数字表示起始索引,第二位数字表示结尾索引,第三位表示步长即隔几位取值

print(s[-1:-5:-2]) #反步长

print(s[2:-4:2]) #正负可用,但是步长必须为正

print(s[:100:2])#切片和步长超出范围不会报错,正常可用

 

字符串常用方法 

s = 'oldboy@is7DdidJsj ldjd hs'

1.首字母大写 (capitalize)

s1 = s.capitalize() #首字母大写
print(s1)
或者

print(s.capitalize())

2.所有字母变小写 (lower)

s1 = s.casefold() #字母变成小写,针对uncode的编码所有的字母
s1 = s.lower() #字母变成小写,只针对ascii

print(s1)

 3.所有字母变大写 (upper)

s1 = s.upper() #全部都变成大写

print(s1)

 

验证码实现不区分大小写

a = 'eQy7'
a1 = a.upper()
b = input('请输入验证码:')
b1 = b.upper()
if a1 == b1:
print("666")
else:
print("444")


 4.字符串居中 (center)

s1 = s.center(30, '@') #让字符串居中,并且可对空出的空间进行填充.'@'表示填充的字符
print(s1)

 5.字符中大小写翻转 (swapcase)

s1 = s.swapcase() #字符串大小写翻转

print(s1)

6.#字符串所有非字母隔开的首字母全部大写,原来其他位置的字母小写.

s1 = s.title()

print(s1)

7.(startswith/endswith) 判断以什么开头结尾,可以使用切片判断整体或者个体

判断以什么开头,返回bool值,只有是一个字符串不分位置,只认为一个字母开头

s1 = s.startswith('ld')
print(s1)

False
s1 = s.startswith('o')
True
s1 = s.startswith('old')
True


8.去除字符串内的首位空格,换行符,制表符(tab)等 .(strip /删除左边:lstrip /删除右边:rstrip)

s = '\n oldboy@is7DdidJsj ldjd hs \t'

s1 = s.strip()
print(s1)

实验:用户名输入得到标准输入

s = input('请输入用户名:')
s1 = s.strip()
if s1 == 'jason':
print(666)

9.查找字符串内字符返回索引 find/index

s = 'alexesxshd'

print(s.find('x', 2,6))#查找元素并返回第一个元素的索引如果没找到返回 -1

print(s.index('A'))#查找元素并返回第一个元素的索引如果没找到报错


10.统计字符元素在字符串中的个数 (count)

print(s.count('ex'))


11.字符串替换  (replace)

s = '是搜地方很少了开发商的灵魂地方发货了'

s1 = s.replace('地方','place',1)

#替换方法,前面添加旧数据,中间添加新数据,最后是替换几个.如果后面填的替换个数超过字符串包含的

不报错,并且把所有需要替换的内容全部替换.

print(s1)


12.分割字符串 (split/rsplit)

s = 'sdhlseeh sdhsld,s#hdi#sda#lsd!sdl#hdk'

print(s.split()) #表示用空格分割
print(s.split(','))#表示用逗号分割
print(s.split('#' , 2)) #表示分割的次数

13.格式输出 (format)

第一种方式: %s 形式相同
s = '我叫{},今年{},爱好{}'
s1 = s.format('MT','18','haha')#这种方式顺序必须一一对应
第二种 可处理多个重复字段的填充,format不用写很多内容
s = '我叫{0},今年{1},爱好{2},明年还是{1},我就是喜欢{2}'
s1 = s.format('MT','18','hahds')
第三种 字典形式,可以一一对应.

s1 = '我叫{name},今年{age},喜欢{hobby}'.format(name='MT',age='18',hobby='hah')
print(s1)

14.判断字符串组成元素
name = 'alex7ds'

print(name.isalnum()) #检测字符串由字母,数字组成,此例题True
print(name.isalpha()) #检测字符串只由字母组成,此例题False
print(name.isdigit()) #检测字符串只由数字组成,此例题False

 

15.join

#用字符串作为一个连接符,链接字符串.连接可迭代对象中的每一个元素,形成 一个新的字符串.

 

s = '*'.join('oldboy')
print(s)

结果:

o*l*d*b*o*y

注意:join进行的字符串连接,必须全部都是字符串,里面不能有别的元素,要不然会报错.

 

 

公共用法的方法

1.检查字符串/列表/字典等元素长度

len()

a = len(变量)

2.检查字符串/列表/字典等元素个数

count()

a = len(变量)

 

for 循环

1.用whiel 循环遍历 字符串内容.

 

s = 'hsdlsdjdsh'
s1 = len(s)
i = 0
while i < s1:

  print(s[i])

i += 1

 

2.用for循环实现相同功能

s = 'hsdlsdjdsh'

for i in s:

  print(i)

 

 

以上为今天所讲的所有重点内容.





posted @ 2018-03-20 20:18  tom2ling  阅读(228)  评论(0编辑  收藏  举报