本章主要讲Python的基本数据类型,int,str,list,tuple,dict,bool等以及这些基本数据类型中的一些重要的方法的运用。。。

1、数字(int)

- int() 方法
  # 定义
    a1=123  
    a2=456
#功能1:将字符串转换为数字
#例子1:
a = "123"
print(type(a)) # type()为查看类型,此行输出结果为<class 'str'>
b =int(a)
print(type(b)) # type()为查看类型,此行输出结果为<class 'int'>
c=456
d=c+b
print(d) #输出结果为579

#功能2:按照进制转化输出
#例子2:
num="a"
b=int(num,base=16)  # int(?,base=?),前者则是参数,后者是按照几进制进行转换输出,此行为将num按照16进制输出
print(b) # 输出结果为 10

num1="0011"
v=int(num1,base=2)  # int(?,base=?),前者则是参数,后者是按照几进制进行转换输出,此行为将num1按照2进制输出
print(v)  # 输出结果为 3


- bit_length() 方法
age = 1   # 1 二进制=1
age1 = 2  # 1 二进制=10
age2 = 3  # 1 二进制=11
age3 = 4  # 1 二进制=100
age4 = 10  # 10  二进制=1010
r1 = age.bit_length()   # 当前数字的二进制,至少用几位来表示
r2 = age1.bit_length()  # 当前数字的二进制,至少用几位来表示
r3 = age2.bit_length()  # 当前数字的二进制,至少用几位来表示
r4 = age3.bit_length()  # 当前数字的二进制,至少用几位来表示
r5 = age4.bit_length()  # 当前数字的二进制,至少用几位来表示
print(r1)   # 输出结果为 1
print(r2)   # 输出结果为 2
print(r3)   # 输出结果为 2
print(r4)   # 输出结果为 3
print(r5)   # 输出结果为 4

2、字符串(str)


name = "hAnhAn"
v = name.capitalize()  # 将首字母大写
print(v)  # 输出结果 Hanhan

v1=name.casefold() # 将所有变为小写,但是这个方法更牛逼,因为很多未知的对应小写也可以实现
print(v1)  # 输出为 hanhan
v2=name.lower()   # 将所有变为小写
print(v2)  # 输出为 hanhan


v = name.center(20) # def center(self, width, fillchar=None) 将name放到参数width中间
print(v) # 输出结果为       hAnhAn
v0 = name.center(20,"*") # def center(self, width, fillchar=None) 
#将name放到参数width中间,前后空白位置用*补上(只能填一个字符)
print(v0) # 输出结果为 *******hAnhAn*******

v3=name.count("A")  # 计算参数在字符串name中的个数
print(v3)   # 输出结果为 2
v4=name.count("n")  # 计算参数在字符串name中的个数
print(v4)   # 输出结果为 2
v5=name.count("An",3) #def count(self, sub, start=None, end=None) 
#start表示从第几个往后面开始找
print(v5)   # 输出结果为 1


test="python"
v=test.endswith('on')  # 是否以括号中参数结尾
print(v) # 输出结果为 True
v1=test.startswith('h')  # 是否以括号中参数开头
print(v1) # 输出结果为 False
test="pythonpy"
v1=test.find("py")  # 前面往后面找,返回找到的位置。注:只能找到一个
print(v1) # 输出结果为 0


test="pythonpy"
# def find(self, sub, start=None, end=None) 后面两个参数是查找的范围
v2=test.find("py",5,8)  
print(v2) # 输出结果为 6

test="i am {name}"
print(test)
# 格式化,将一个字符串中的占位符替换为指定的值
v3=test.format(name="hanhan")  
print(v3)  # 输出结果为 i am hanhan


test='i am {name},age {a}'
print(test)
# 格式化,将一个字符串中的占位符替换为指定的值
v4=test.format(name="hanhan",a=23)  
print(v4)  # 输出结果为 i am hanhan,age 23


test='i am {0},age {1}'
print(test)
v5=test.format("hanhan",23)  # 格式化,对应数字进行赋值,可以一直写下去
print(v5)  # 输出结果为 i am hanhan,age 23

test='i am {name},age {a}'
# 格式化,以字典的形式往里面赋值
v6=test.format_map({"name":'hanhan',"a":23}) 
print(v6)  # 输出结果为 i am hanhan,age 23


test1="haha895-++"
v8=test1.isalnum() # 判断字符串是否由字母 数字组成
print(v8)  # 输出结果为False


test1="haha895"
v7=test1.isalnum() # 判断字符串是否由字母 数字组成
print(v7)  # 输出结果为Ture

test2="dhsjdh\t565"
# 从前面找tab,六个六个的进行查找,直到找到,找到如果不够六个就用空格填补
v9=test2.expandtabs(6)
print(v9) # 输出结果为 dhsjdh      565

# 可以用expandtabs()做表格
test2="username\temail\tpassword\nhanhan\than@q.com\t123\nhanhan\than@q.com\t123\nhanhan\than@q.com\t123\nhanhan\than@q.com\t123"
print(test2)
# 输出结果为(未对齐):
# username    email    password
# hanhan  han@q.com    123
# hanhan  han@q.com    123
# hanhan  han@q.com    123
# hanhan  han@q.com    123
v10=test2.expandtabs(15)
print(v10)
# 输出结果
# username       email          password
# hanhan         han@q.com      123
# hanhan         han@q.com      123
# hanhan         han@q.com      123
# hanhan         han@q.com      123
test="你是风儿我是沙"
print(test) # 输出结果为   你是风儿我是沙
v=" ".join(test) # join 是将字符串中每一个元素按照指定分隔符进行拼接
v1="_".join(test)
print(v)  # 输出结果为  你 是 风 儿 我 是 沙
print(v1) # 输出结果为  你_是_风_儿_我_是_沙


test="wtudbsajbcaskdusaincuyhdas"
m = test.maketrans("abcdef","123456") # 将test字符串中的元素按照要求进行替换
v = test.translate(m)
print(v) #输出结果 wtu42s1j231sk4us1in3uyh41s

test="testhanhansdd"
v = test.partition('s') # 从前往后面找字符串中的第一个‘s’ 进行分割
print(v) # 输出结果为 ('te', 's', 'thanhan')

v1 = test.rpartition('s')  # 从后往前面找字符串中的第一个‘s’ 进行分割
print(v1) # 输出结果为 # 输出结果为

v2 = test.split('s')  # 从前往后面见到‘s’ 就进行分割
print(v2) # 输出结果为 ['te', 'thanhan', 'dd']

v3 = test.split('s',1)  # 从前往后根据后面的参数的个数进行分割
print(v3) # 输出结果为 ['te', 'thanhansdd']
test="hanhan"
v = test[0]  # 按照下标拿字符串
v1 = test[2]  # 按照下标拿字符串
print(v,v1)  # 输出结果 h n
v3 = test[0:2]  # 范围大于等于0小于2
print(v3)  #    输出ha
v4 = len(test)  #  获取字符串长度
print(v4)  # 输出结果 6


# 字符串循环输出(while循环)
index=0
while index < len(test):
    print(test[index])
    index += 1
print("-----------------")
# 字符串循环输出(for循环)
for item in test:
    print(item)

test1="etysbbdjsbn"
v = test1.replace("b",'456') #  def replace(self, old, new, count=None) 后者替换前者
print(v) # 输出结果为 etys456456djs456n

test1="etysbbdjsbn"
v1 = test1.replace("b",'456',1)#  def replace(self, old, new, count=None) 根据后面的数量后者替换前者
print(v1) # 输出结果为 etys456bdjsbn

# range帮助创建一定范围的数字
v=range(20)
for item in v:
    print(item)  #  输出结果 0,1,2,3,...19
v1=range(0,20,5)
for item1 in v1:
    print(item1) #  输出结果 0 5 10 15

# 打印文件索引
t=input("请输入:")
l= len(t) # 首先获取字符串长度
t1=range(0,l) # 利用range生成字符串下标
for it in t1:
    print(it,t[it]) #  通过for循环输出下标和下标对应的元素
# 简单写法
t=input("请输入:")
for it1 in range(0, len(t)):
    print(it1,t[it1])