Python基础学习Day3 数据类型的转换、int、str、bool、字符串的常用方法、for循环

一、数据类型的转换

常用的是:int 转str、str转int。int转bool 时   非零即为 True 。

# 数据类型之间转换  *****
# int <--> str   str(int)   int(str)
# int ---> bool   : 非零即为True,零即为False,  True ---> 1 False ---> 0
# bool --->str :
# print(bool('Alex'))  --->True
# 空字符串 ---> bool False
# s1 = ''        空字符串不是指空格
# print(bool(s1))     # 非空即为True

二、数字int

数字主要是用来计算、计数、运算的,使用方法并不是很多,就记住一种就可以:

# 查询十进制转化成二进制时占用的最小位数
i = 2
print(i.bit_length()) # 查询十进制转化成二进制时占用的最小位数

三、布尔值bool

布尔值就两种:True,False。就是反应条件的正确与否。

真   1   True。

假   0   False。   

四、字符串Str的用法

 4、1字符串的索引

 索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推。

# 字符串的索引
s1 = 'abcdefg'
print(s1[0])
print(s1[3])
print(s1[5])

输出结果为:

a d f

4、2字符创的切片

切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾腚)。

# 字符串的切片
s1 = 'abcdefg'
print(s1[0:3])
print(s1[2:5])
print(s1[0:])     # 默认到最后
print(s1[0:-1])    # -1就是最后一位
print(s1[0:5:2])   # 加步长
print(s1[5:0:-2])  # 反向加步长

结果为:

abc
cde
abcdefg
abcdef
ace
fdb

4、3字符串的常用方法

 # 首字母大写
name = 'oldBoy'
print(name.capitalize())   # 首字母大写
# center 字符串居中前后填充自定义的字符  **
name = 'oldBoy'
print(name.center(20,'*'))
# upper 全大写  lower  全小写
name = 'oldBoy'
print(name.upper())
print(name.lower())
print(name)
# startwith   endwith
name = 'oldBoy'
print(name.startswith('o'))
print(name.startswith('ol'))
print(name.startswith('B', 3))          # 查看索引为3的位置是否为B
print(name.startswith('ld', 1, 5))      # 查看索引为1-5的位置是否有 ld
print(name.startswith("oldBoy"))        # 结果都为 True
# swapcase 大小写翻转 **
name = 'oldBoy'
print(name.swapcase())

结果为
OLDbOY
# title 非字母隔开的每个部分的首字母大写  **
# print(name.swapcase())
s1 = 'alex wusir*taibai6nvshen'
print(s1.title())     # title 非字母隔开的每个部分的首字母大写  **

结果为
Alex Wusir*Taibai6Nvshen
# title 非字母隔开的每个部分的首字母大写  **
# print(name.swapcase())
s1 = 'alex wusir*taibai6nvshen'
print(s1.title())     # title 非字母隔开的每个部分的首字母大写  **

结果为
Alex Wusir*Taibai6Nvshen
# find 通过元素找索引,找到第一个就返回,没有找到此元素就返回-1 *****
# index 通过元素找索引,找到第一个就返回,没有找到次元素就报错  *****
name = 'oldBoy'
print(name.find('B'))
print(name.find('ld'))
print(name.find('o'))
print(name.find('o', 1, -1))
# print(name.index('q'))

结果为:
3
1
0
4
报错

 4.4 字符串的重要用法

(1)strip()函数

name = '\t    oldboy\n'
print(name.strip())          # strip 默认去除字符串前后的空格,换行符,制表符  *****
name1 = '*alex**'
name2 = 'weralexwqwe'
print(name.strip())               #oldboy
print(name1.strip('*'))           #alex
print(name2.strip('erw'))         #alexwq  

 (2) split()函数

# split  # 将字符串分割成列表(str---> list)
s1 = 'alex wusir taibai'
l1 = s1.split()           # 默认按照空格分隔
print(l1)                  # ['alex', 'wusir', 'taibai']
s2 = 'alex,wusir,taibai'
print(s2.split(''))       # ['alex', 'wusir', 'taibai']
s3 = ',alex,wusir,taibai'
print(s3.split(','))
s4 = ' alex wusir taibai'
print(s4.split(' '))
s5 = 'alexlwle'
print(s5.split('l',1))     # 可设置分割次数

(3)jion()函数

str1 = 'alex'
# join 自定制连接符,将可迭代对象中的元素连接起来 *****
s2 = '*'.join(str1)
s2 = '_'.join(str1)
print(s2)

(4)replace()函数

str2 = 'alex 是创始人,alex很nb,alex ....'
# replace  *****
s3 = str2.replace('alex','SB')  #SB 是创始人,SB很nb,SB ....
# s3 = str2.replace('alex','SB',1)  # 替换次数可设置
print(s3)

(5)format()函数  格式化输出

s1 = '我叫{},今年{},性别{}'
# 三种方式
# 第一种
s2 = '我叫{},今年{},性别{}'.format('太白','28','') # 我叫太白,今年28,性别男
print(s2)
# 第二种
s3 = '我叫{0},今年{1},性别{2},我依然叫{0}'.format('太白', '28', '')
print(s3)
# 第三种
s4 = '我叫{name},今年{age},性别{sex}'.format(age='28', name='太白', sex='')
print(s4)

(6)is系列

name = 'taibai'
name1 = 'a123'
print(name.isalnum())  # 数字或字母组成
print(name1.isdigit())  # 判断全部是由整数组成
print(name.isalpha())  # 全部由字母组成

(7)公共方法  count()函数 与  len ()函数

name = 'alexaaa'
print(name.count('a'))  # 有切片
print(len(name))

 5、for 循环

s1 = 'fdjsafjsdkla' # 循环打印s1的每个字符
for i in s1:
    print(i)

猜你喜欢

转载自www.cnblogs.com/youhongliang/p/9432174.html