Python 学习笔记 day03--数据类型

1.前言

在 Python 中的变量是不需要声明,但变量在使用前需要被赋值,只有赋值以后变量才是被创建的数据。变量可以存储不同类型的数据,并且不同类型可以执行不同的操作。

等号(=)就是给变量赋值。
等号(=)左边是变量名称,等号(=)右边是存储在变量中的值。

2.变量的基本数据类型:

变量的常见基本数据类型:

Number数字型
String字符串
List列表
Tuple元组
Set集合
Dictionary字典

2.1 数字型(int):int、float、complex、bool

1.int 整数型是完整的数字,可以是正、负数,但不能为小数,整数型长度不限。

a = 8
b = -37

print(type(a))
print(type(b))

#---<class 'int'>
#---<class 'int'>

2.float 浮点数是包含小数的正数或负数。计算机对浮点数的表达本身不够精确。保存在计算机里的二进制数,二进制数对一些数字不能准确表达,只能非常接近这个数。

a = 2.3456
b = 5.538
c = a + b
print(c)

#----7.8836

#----num1 = float('inf')  # inf 无穷大
#----num2 = float('-inf')  # -inf 无穷小
#----num3 = float('NaN')  # NaN 不是数字

3.复数complex

实部 + 虚部 = 复数   虚部用j或J 用于科学计算(2 + 3j)

a = 1+4j
b = 5j
c = -6j

print(type(a))
print(type(b))
print(type(c))

4.布尔bool:特殊的整数,只有两个值 True False

  0 :false    1:true

and   逻辑与       全真则真,一假则假
or     逻辑或       一真则真,全假则假
not    逻辑非      非真则假,非假则真

a and b:  当前边表达式为假,后边表达式不再执行,直接返回假

a or b:  当前边表达式为真,后边表达式不再执行,直接返回真

2.2 字符串

在 python 中的字符串是由单引号或双引号表示的,且定义后不能被修改。

q = "welcome"
print(q)

e = [2, 3.45, "word"]
print(e)

拓展:转义字符: \

制表符 \t
相当于tab
换行符 \n
换行
回车符 \r
光标移动到当前这一行的开头
斜线 \\
把斜线转义,使其成为一个普通字符

a1 = "word"
print(a1)
print(type(a1))

a2 = "excel " + a1
print(a2)

a3 = "i'm\"king\"" # ---引号打印
print(a3)

s1 = "word\nexcel"  # ---换行
print(s1)

s2 = "word\texcel"  # ---制表位
print(s2)

s3 = "word\rexcel" 
s4 = "word\rex"
print(s3)  # ---excel
print(s4)  # ---ex   后面的字符会把前面的字符覆盖掉

s5 = "word\\excel"  # ----把斜线转义,使其成为一个普通字符

print(s5)

2.2.1  字符串访问

2.2.1.1 下标访问

下标就是编号,从左向右访问,从0开始;从右向左访问,从-1开始

d1 = "word\\excel\\ppt"
# 下标访问从第一个数开始,0123456789---

print(d1)
print(d1[0])
print(d1[4])
print(d1[-5])
print(d1[-1])

#----word\excel\ppt
#----w
#----\
#----l
#----t

2.2.1.2 切片访问

切片访问和下标访问类似:

下标访问每次只能访问单个字符
切片访问每次可以访问多个字符

格式:变量名[起始值:终止值:步长]

访问时,

1.如果没有设置起始值,默认起始值为开头位置;
2.如果没有设置终止值,默认到字符串结束,如果设置了终止值,到终止位置结束,不包括结尾位置;
3.如果没有设置步长,步长默认为1

d2 = "word excel ppt"
print(d2)
print(d2[::])
print(d2[2:9:2])  # ----步长按顺序,空格也算,
# 步长数相当于从初始值的数值位加上步长数值到达的数位,显示当前数位值
print(d2[2:9:1])  # ----步长按顺序,空格也算
print(d2[-2:-15:-2])  # ----步长按顺序,空格也算

2.2.2 字符串的比较

字符串比较是逐个字符比较,从字符串第一个字符开始,如果Unicode编码值相同,会继续往下比,直到找到不同的字符分出大小,或者一直比到所有字符比较结束。

# 'A'	65
# 'a'	97

f1 = "Aaaa"
f2 = "aAAA"

print(f1 < f2)

2.2.3 字符串的加法和乘法

字符串加号(+)可以把两个字符串拼接到一起,返回一个拼接好的字符串

字符串乘号(*)乘以整数n,表示把某个字符串复制n次,返回复制n次的字符串

f3 = "abc"
f4 = 3

print(f3 + f4)
print(f3 * f4)
2.2.4 字符串相关函数
2.2.4.1 查询函数
find
检测字符串是否包含某字符,如果是则返回首次出现的下标,否则返回-1  从左向右
index
检测字符串是否包含某字符,如果是则返回首次出现的下标,否则报错    从左向右
rfind
从右向左
rindex
从右向左
d2 = "word excel ppt"
# print(d2)
# print(d2.find('w'))  # ----0   数字下标从 0 开始,w在位置 0 处
# print(d2.find('p'))  # ----11  l在位置 11 处,识别到符合的就会停止
# print(d2.find('a'))  # -----1  不包含 a 字符
#
# print(d2.index('d'))  # ----3
# # print(d2.index('a'))  # 报错

print(d2.rfind('p'))  # ----12 从右向左检测,数字从左到右排序

print(d2.rindex('e'))  # ----8从右向左检测,数字从左到右排序
2.2.4.2 转换函数
upper
转大写(全部)
lower
转小写(全部)
title
每个字符串的(字符串是字母组成)首字母大写
d2 = "word excel ppt"
print(d2.upper())  # ----WORD EXCEL PPT
d3 = "WORD EXCEL PPT"
print(d3.lower())  # ----word excel ppt

print(d2.title())  # ----Word Excel Ppt
2.2.4.3 判断函数
startswith
判断字符串是否以object(某个字符)开头,True False
endswith
判断字符串是否以object(某个字符)结尾,True False
isspace
判断字符串是否由空格组成  True False
isalnum
判断字符串是否由字母或数字组成  True False
isdigit
判断字符串是否是纯数字  True False
isalpha
判断字符串是否是纯字母  True False
d2 = "word excel ppt"
print(d2.startswith('wo'))
print(d2.endswith('pt'))

d3 = "  a  "
print(d3.isspace())  # 纯空格为True

d4 = "abc245u784qwe"
print(d4.isalnum())

d5 = "12345"
print(d5.isdigit())

d6 = "qwerty"
print(d6.isalpha())
2.2.4.4 分割函数
partition
把字符串以str分割成三部分,从左向右
rpartition
把字符串以str分割成三部分,从右向左
split
自定义分割
splitlines
按行分割
# partition 按照str的定义字符分为三个,只能是三个
g1 = "word excel ppt"

print(g1.partition('l'))  # ----('word excel', 'l', ' ppt')
print(g1.partition('t'))  # ----('word excel pp', 't', '')
print(g1.partition('a'))  # ----('word excel ppt', '', '') 没有该字符
print(g1.partition(' '))  # ----('word', ' ', 'excel ppt')


# split按str分割,可自定义分割次数
# 不指定分割次数,会分割所有检测到的位置
g2 = "word excel ppt CAD PS"
print(g2.split(' '))  # 按空格分割 ['word', 'excel', 'ppt', 'CAD', 'PS']
print(g2.split('l', 2))  # 按空格分割,分割数为2 ['word exce', ' ppt CAD PS']
print(g2.split('e', 2))  # ['word ', 'xc', 'l ppt CAD PS']
# 以 e 左右分开

g3 = "word\nexcel\nppt"
print(g3)
# ----hello
# ----world
print(g3.splitlines())  # ----['hello', 'world']
2.2.4.5 其他函数
len
计算字符串长度
count
统计子字符串出现的次数
join
把序列中的元素连接成新的字符串
replace
把字符串中所有的str1替换成str2,也可指定替换次数
capitalize
字符串首字母大写
g2 = "qwerty"
print(len(g2))  # 6
for i in g2:
    print(i, end="-")  # q-w-e-r-t-y-q

print()  # 让后面打印数据换行

g3 = "qwerty"
for s in range(len(g3)):  # 相当于把g3字符串先算出数值,按照数值进行遍历
    # range(6):生成一个整数序列 [0, 1, 2, 3, 4, 5]
    print(g3[s], end="\t")
    # g3[0] = 'q' → 打印 "q\t"
    # g3[1] = 'w' → 打印 "w\t"
    # g3[2] = 'e' → 打印 "e\t"
    # g3[3] = 'r' → 打印 "r\t"
    # g3[4] = 't' → 打印 "t\t"
    # g3[5] = 'y' → 打印 "y\t"
# 所以整体打印q	w	e	r	t	y

print()  # 让后面打印数据换行

g4 = "word excel ppt"
print(g4.count("w"))

g5 = ["abc", "ss"]
g6 = "in"
print(g6.join(g5))

g6 = "word excel ppt"
print(g6.replace("e", "p"))  # ---在无次数说明的情况下默认替换所有符合字符(e换成p)
print(g6.replace("e", "p", 1))  # ---后面加上1,代表只更换一个或n个,但只能限制次数,无法进行某个位置的替换

h1 = "asdfg"
print("h1:", len(h1))
h2 = "12345"
print("h2:", len(h2))

习题:

不使用题中的函数,来达到使用函数相同的目的

1实现 len

# 1.len

q = input("请输入多个数字或字母")
w = 0
for i in q:
    w += 1
print("输入的数值长度为:", w)

#----请输入多个数字或字母qwert
#----输入的数值长度为: 5

2.find 查询单个字符或字符串

# 2.find  查询单个字符或字符串
e = input("请输入多个数字或字母")
t = input("请输入要查询的字符串")
u = 0  # 假设不可以查到字符串
for y in range(len(e)):  # 相当于把字符串先算出数值,按照数值进行遍历
    if t == e[y:y + len(t)]:
        u = 1  # 查到了字符串
        print("查询到字符串在整体字符的", y, "位")
if u == 0:
    print("整体字符串中无要查询的字符")

#----请输入多个数字或字母qwert123
#----请输入要查询的字符串t
#----查询到字符串在整体字符的 4 位

3.startswith 判断单个字符或字符串

# 3.startswith 判断单个字符或字符串
i = input("请输入字符串")
o = input("输入要判断的字符")
if o == i[0:0 + len(o)]:
    print(1)
else:
    print(0)

#----请输入字符串qwertt
#----输入要判断的字符q
#----1

4.count 计算单个字符或字符串

# 4.count 计算单个字符或字符串
p = input("请输入字符串")
a = input("输入要计算的字符")
d = 0
for s in range(len(p)):
    if a == p[s:s + len(a)]:
        d += 1
if d != 0:
    print("字符", a, "共有字符:", d, "个")
else:
    print("无计算字符")

#----请输入字符串qwerterw
#----输入要计算的字符w
#----字符 w 共有字符: 2 个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值