Python基本数据类型常用方法

Python基本数据类型常用方法

#!/usr/bin/env python
# -*- coding:utf-8 -*-

#基本数据类型

#查看数据类型
print("1、")
a = "123"
print(type(a),a)

#将字符串转换为数字
print("2、")
b = int(a)
print(type(b),b)

#将num转换为16进制数
print("3、")
num = "b"
v = int(num, base=16)
print(v)

age = 5
# 1  1
# 2  10
# 3  11
# 4  100
# 5  101
# 当前数字的二进制,至少用n位表示
print("4、")
r = age.bit_length()
print(r)

test = "aLex"
# 首字母大写
print("5、")
v = test.capitalize()
print(v)

# 所有变小写,casefold更牛逼,很多未知的对应变小写
print("6、")
v1 = test.casefold()
print(v1)
v2 = test.lower()
print(v2)

# 设置宽度,并将内容居中
# 20 代指总长度
# *  空白未知填充,一个字符,可有可无
print("7、")
v = test.center(20,"中")
print(v)
#左边填充
test = 'alex'
v = test.ljust(20,"*")
print(v)
#右边填充
test = 'alex'
v = test.rjust(20,"*")
print(v)
#默认用 0 填充
test = 'alex'
v = test.zfill(20)
print(v)

# 去字符串中寻找,寻找子序列的出现次数
print("8、")
test = "aLexalexr"
v = test.count('ex')
print(v)

#开始位置和结束位置,格式为[start, end),即包括开始,不包括结束。
print("9、")
test = "aLexalexr"
v = test.count('ex',6,8)
print(v)

# 欠
# encode
# decode

# 以什么什么结尾
# 以什么什么开始
print("10、")
test = "alex"
v = test.endswith('ex')
v = test.startswith('ex')
print(v)

# 把字符串中的 tab 符号('\t')转为空格
#6个字符分一段,如果出现\t,就用空格补齐计数,即123456+78    +9=13个字符,其中空格4个。
print("11、")
test = "12345678\t9"
v = test.expandtabs(6)
print(v,len(v))

#expandtabs,断句20。
print("12、")
test = "username\temail\tpassword\nlaiying\tying@q.com\t123\nlaiying\tying@q.com\t123\nlaiying\tying@q.com\t123"
v = test.expandtabs(20)
print(v)

# 从开始往后找,找到第一个之后,获取其未知
# > 或 >=
print("13、")
test = "alexalex"
# 未找到 -1
v = test.find('ex')
print(v)

# index找不到,报错   忽略
# test = "alexalex"
# v = test.index('8')
# print(v)


# 格式化,将一个字符串中的占位符替换为指定的值
print("14、")
test = 'i am {name}, age {a}'
print(test)
v = test.format(name='alex',a=19)
print(v)

test = 'i am {0}, age {1}'
print(test)
v = test.format('alex',19)
print(v)

# 格式化,传入的值 {"name": 'alex', "a": 19}
test = 'i am {name}, age {a}'
v1 = test.format(name='df',a=10)
v2 = test.format_map({"name": 'alex', "a": 19})

# 字符串中是否只包含 字母和数字
print("15、")
test = "123"
v = test.isalnum()
print(v)

# 是否是字母,汉字
print("16、")
test = "as2df"
v = test.isalpha()
print(v)

#  当前输入是否是数字
print("17、")
test = "二" # 1,②
v1 = test.isdecimal()   # 十进制小数,用的最多
v2 = test.isdigit()     # 包含特殊符号"②"等,不支持中文
v3 = test.isnumeric()   # 包含特殊符号,支持中文"二"
print(v1,v2,v3)


# 是否存在不可显示的字符
# \t   制表符
# \n   换行
print("18、")
test = "oiuas\tdfkj"
v = test.isprintable()
print(v)

# 判断是否全部是空格
print("19、")
test = " "
v = test.isspace()
print(v)

# 判断是否是标题
print("20、")
test = "Return True if all cased characters in S are uppercase and there is"
v1 = test.istitle()
print(v1)
v2 = test.title()
print(v2)
v3 = v2.istitle()
print(v3)

# ***** 将字符串中的每一个元素按照指定分隔符进行拼接
print("21、")
test = "你是风儿我是沙"
print(test)
# t = ' '
v = "_".join(test)
print(v)

# 判断是否全部是大小写 和 转换为大小写
print("22、")
test = "Alex"
v1 = test.islower()
v2 = test.lower()
print(v1, v2)

v1 = test.isupper()
v2 = test.upper()
print(v1,v2)

## 删除左侧字符串:空格
print("23、")
str = "     this is string example....wow!!!     "
print (str.lstrip())
## 删除右侧字符串:空格
print (str.rstrip())
## 删除左右字符串:空格
print (str.strip())
## 删除左侧字符串:*****
str = "*****this is string example....wow!!!*****"
print (str.lstrip('*'))
## 删除右侧字符串:*****
print (str.rstrip('*'))
## 删除左右侧字符串:*****
print (str.strip('*'))

#移除匹配字符,先进行最多匹配
# test = "xalex"
# v = test.lstrip()
# v = test.rstrip('9lexex')
# v = test.strip()
# print(v)

# 去除\t \n
# test = "\nxalex"
# v = test.lstrip()
# v = test.rstrip()
# v = test.strip()
# print(v)

#  对应关系替换
print("24、")
test =  "aeiou"
test1 = "12345"

v = "asidufkasd;fiuadkf;adfkjalsdjf"
m = str.maketrans("aeiou", "12345")
new_v = v.translate(m)
print(new_v)

# 分割为三部分
print("25、")
test = "testasdsddfg"
v = test.partition('s')
print(v)
v = test.rpartition('s')
print(v)

# 分割为指定个数
print("26、")
v = test.split('s',3)
print(v)
v = test.rsplit('s',2)
print(v)

# 分割,只能根据,true,false:是否保留换行
print("27、")
test = "asdfadfasdf\nasdfasdf\nadfasdf"
v = test.splitlines(False)
print(v)

#  以xxx开头,以xx结尾
print("28、")
test = "backend 1.1.1.1"
v = test.startswith('a')
print(v)
v = test.endswith('a')
print(v)

# 大小写转换
print("29、")
test = "aLex"
v = test.swapcase()
print(v)

# 字母,数字,下划线 : 标识符 def  class
# 判断字符串是否可为合法的标识符
print("30、")
a = "def"
v = a.isidentifier()
print(v)


# 27 将指定字符串替换为指定字符串
print("31、")
test = "alexalexalex"
v = test.replace("ex",'bbb')
print(v)
v = test.replace("ex",'bbb',2)
print(v)

###################### 7个基本魔法 ######################
# join       # '_'.join("asdfasdf")
# split
# find
# strip
# upper
# lower
# replace
###################### 4个灰魔法 ######################
test = "郑建文妹子有种冲我来"

# 一、for循环
# for 变量名 in 字符串:
#     变量名
# break
# continue

# index = 0
# while index < len(test):
#     v = test[index]
#     print(v)
#
#     index += 1
# print('=======')

for zjw in test:
    print(zjw)

test = "郑建文妹子有种冲我来"
for item in test:
    print(item)
    break

for item in test:
    continue
    print(item)

# 二、索引,下标,获取字符串中的某一个字符
# v = test[3]
# print(v)

# 三、切片
# v = test[0:-1] # 0=<  <1
# print(v)

# 四、获取长度
# Python3: len获取当前字符串中由几个字符组成
# v = len(test)
# print(v)

# 注意:
# len("asdf")
# for循环
# 索引
# 切片

# 五、获取连续或不连续的数字,
# Python2中直接创建在内容中
# python3中只有for循环时,才一个一个创建
# r1 = range(10)
# r2 = range(1,10)
# r3 = range(1,10,2)
# 帮助创建连续的数字,通过设置步长来指定不连续
# v = range(0, 100, 5)
#
# for item in v:
#     print(item)

##### 练习题:根据用户输入的值,输出每一个字符以及当前字符所在的索引位置 #####
# test = input(">>>")
# for item in test:
#     print(item)

# 将文字 对应的索引打印出来:
# test = input(">>>")
# print(test)   # test = qwe   test[0]   test[1]
# l = len(test) # l = 3
# print(l)
#
# r = range(0,l) # 0,3
# for item in r:
#     print(item, test[item]) # 0 q,1 w,2 e

# test = input(">>>")
# for item in range(0, len(test)):
#     print(item, test[item])




###################### 1个深灰魔法 ######################
# 字符串一旦创建,不可修改
# 一旦修改或者拼接,都会造成重新生成字符串

# name = "zhengjianwen"
# age = "18"
#
# info = name + age
# print(info)

Leave a Reply