【Python学习中的问题四】

Python 学习知识四——基本数据类型:

学习记录及信息记录:

本文是关于基本数据类型的相关学习记录

基本数据类型有三种分别是:整型和浮点型、布尔类型、字符串类型

整型,顾名思义是整数,例如3,5等;
浮点型,包含整数和小数,例如3.14
布尔类型,用来判断,分别是TrueFlase
字符串类型,一种字符串,例如"abcd"
除了基本数据类型,还有高级数据类型,包括字典列表


学习记录

学习过程的记录:

1.整型和浮点型

对于一个数据类型,我们也可以采用type函数来查看数据类型

y = 9
i = type(y)
print(i)

得到的结果为

<class 'int'>

同样,我们可以采用一种更加简洁的代码

x = 10
y = 3.1415926
print(type(x))
print(type(y))

可以查看x,y的数据类型分别为整型浮点型

<class 'int'>
<class 'float'>

2.布尔类型

(1)比较表达式

通常看到如下的代码

# 两个数的比较
x = 10
y = 3.14
print(x > y)
print(x == y)
print(x <= y)

# 做分支判断

age = 23
if age > 18:
    print("播放成人电影")
else:
    print("播放动画片")

上述输出结果为

播放成人电影
True
False
False
(2)直接使用布尔值(较少)

例如下述代码,一般较少使用

a1 = True
print(a1)
print(type(a1))

运行结果为

True
<class 'bool'>

add1

(3)所有数据都有自己的bool值
3.1 整型和浮点型的零值:0

可对下面不同种类布尔值进行检测

print(2 > 1)
print(bool(2 > 1))
print(bool(1))
print(bool(0))
print(bool(-1))
print(bool(3.12))
print(bool(-2.13))

运行结果如下

True
True
True
False
True
True
True
3.2 字符串""、列表[] 、字典 {}为零值
print(bool("False"))
print(bool("True"))
print(bool(""))
print(bool([]))
print(bool({}))

运行结果为

True
True
False
False
False

3.字符串类型:

字符串相关内容:


字符串是通过' ' " " ''' ''' """ """将一系列字符组成的序列表示出来

# 方式1
a = '1'
# 方式2
b = "2"
# 方式3
c = '''
1.开始新游戏
2.继续游戏
3.查看存档
4.设置
5.退出
    '''
# 方式4
d = """
这是
一个Python字符串
讲解
    """
print(a)
print(b)
print(c)
print(d)

输出结果

1
2

1.开始新游戏
2.继续游戏
3.查看存档
4.设置
5.退出

这是
一个Python字符串
讲解  

4.字符串中的转义符:

下面是对转义符描述和一类常见的转义字符:
在这里插入图片描述

字符串
(1)将某些普通符号给予特殊功能
(2)将一些特殊功能的符号普通化
\' 是为了避免 ' '与字符串中的'出现歧义
\\是为了避免\与字母产生的歧义例如\n
其他也类似,有具体使用场景
我们可以在pycharm编译器中简单观察上述转义符的效果

print('i\'m a apple')  # \'表示单引号
print('she said:\"Hello!\"')  # \"表示双引号
print("C:\\Users\\Desktop")  # \\表示反斜杠
print("Hello\nworld")  # \n表示换行符
print("hello\tWorld")  # 表示制表符
print("Hello\rWorld")  # 表示回车符

运行结果如下

i'm a apple
she said:"Hello!"
C:\Users\Desktop
Hello
world
hello	World
World

我们还可以学习以下知识
一个常见的字符串 s = “Hello hai!”

字符串是容器(由字符组成),也是有序的(可进行序列操作)

字典(dict)是容器但是无序,可序列操作,列表(list)、元组(tuple)等高级数据类型也可做序列操作,后续将说到
在这里插入图片描述

(1)索引取值

可以通过下述代码对字符段对应位置进行索引
字符串[索引]——查询字符

s = "Hello hai!"
print(s[0])
print(s[5])
print(s[9])
print(s[-2])

输出结果:

H
 
!
i
(2)切片操作

字符串[开始索引:结束索引:step = 1(默认)]——切片操作,(顾头不顾尾)
只能从前到后切,假如补偿为负,也可以从后到前,不过这是更高级知识,前期不用掌握,可参照下面的例子

#对应位置,前面数字算,后面不算
print(s[0:5])
print(s[4:])# 缺省,取到最后
print(s[:4])# 缺省,取到最前
print(s[2:-1])
print(s[-6:-2])
print(s[0:5:2])
print(s[5:0:-1])
print(s[:])
print(s[::-1])

输出结果:

Hello
o hai!
Hell
llo hai
o ha
Hlo
 olle
 Hello hai!
!iah olleH
(3)in判断
print("y" in s)
print("Hello" in s)
print("el" in s6)
print("e l" in s6)

输出结果:

False
True
True
False
(4)字符串拼接
s1 = "ni"
s2 = "hao"
s3 = s1 + " " + s2
print(s3)
s4 = "18"
print(f"我今年{s4},名字叫{s1 + s2}")
print("我今年" + s4 + ",名字叫" + s1 + s2)
print("*"*10)

输出结果:

ni hao
我今年18,名字叫nihao
我今年18,名字叫nihao
**********
(5)计算字符串对象的长度:元素的个数 解释器内置函数 len
s5 = "hi hai"
print(len(s5))
s6 = "我shi"
print(len(s6))

输出结果是

6
4

5.格式化输出

不固定化输出一个字符串,可改变部分
占位符有三种:

1.%d 数字占位
2.%s 字符串占位
3.%f 浮点数占位

5.1将变量插入到字符串

# 使用 %s 将变量插入到字符串中,占位
name = "xiao"
age = 18
Height = 1.80
print("大家好,我的名字叫%s,今年%d岁,身高%.2f米。" % (name, age, Height))

5.2 f-string 将变量插入到字符串中

# f-string 将变量插入到字符串中,插入(推荐)
name = "xiao"
age = 18
Height = 1.80
print(f"大家好,我的名字叫{name},今年{age}岁,身高{Height:.2f}米。")

输出结果一致如下

大家好,我的名字叫xiao,今年18岁,身高1.80米。
大家好,我的名字叫xiao,今年18岁,身高1.80米。

6.输入输出函数

在这里插入图片描述
输入函数:input("")
输入输出函数主要是用于客户端之间的交互操作,可简单观察下述代码

print(" New game")
name = input("请输入用户名:")
print(" great!")
age = input("请输入年纪:")
print(f"我的名字是:{name},我的年纪是:{age}")

在终端运行结果的界面,输入你想输入的字符串

请输入用户名:海
 great!
请输入年纪:18
我的名字是海,我的年纪是18

下面还有一个思考

num1 = 100
num2 = 200
print(num1 + num2)

可得到计算结果

300

但是我们学习了输入输出函数后,我们需要动态的输入可变的num1num2
所以我们理所当然的进行如下操作

num1 = input("请输入你的数字:")
num2 = input("请输入第二个数字:")
print(num1 + num2)

当我们输入数字时得到的结果有问题·

请输入你的数字:100
请输入第二个数字:200
100200

这时候就清楚,输入的数字被认为是字符串

这时就应该进行数据类型的转换

# num1Str num2Str为字符串类型,num2Str num2Int 为int类型
num1Str = input("请输入第一个数字:")
num2Str = input("请输入第二个数字:")
num1Int = int(num1Str)
num2Int = int(num2Str)
print(type(num1Int), type(num1Str), type(num2Int), type(num2Str))
print(num1Int + num2Int)

输出结果为

请输入第一个数字:100
请输入第二个数字:200
<class 'int'> <class 'str'> <class 'int'> <class 'str'>
300

输出函数:print()
print()是个最常见的函数,它在python解释器pycharm中,按住Ctrl的同时用鼠标点击print可以打开关于它的具体解释代码文件builtins.py文件,内容如下:

def print(self, *args, sep=' ', end='\n', file=None):

我们仔细观察,其实可以分析出其sep=' '是打印时用空格分开,end='\n'是结尾换行
这就增加了打印的可玩性,我们可以进行下面的操作

x = 7
y = 8
print(x)
print(666, "hello", x, sep=',', end='\\')
print(888, "hello", y, sep='/', end='\\')

输出结果就改变了其打印间隔符号以及结尾的换行操作,运行结果如下

7
666,hello,7\888/hello/8\

7.字符串内置方法

在这里插入图片描述
具体实现效果如下

t = "Hello".upper()
print(t)
# 数字不能用
m = "Hello".lower()
print(m)
n = "李杰".startswith("李")
print(n)
b = "李杰".endswith("杰")
print(b)
c = "123".isdigit()
print(c)
v = " ad ".strip()
print(v)
c = "-".join(['北京', '上海', '武汉'])
print(c)
x = "北京-上海-深圳".split("-")
print(x)
z = "hi liu".find("liu")
print(z)
z = "hi liu".find("z")
print(z)
l = "hi liu".index("u")
print(l)
k = "hi liu".count("i")
print(k)
j = "hi liu".replace("liu", "li")
print(j)

结果如下:

HELLO
hello
True
True
True
ad
北京-上海-武汉
['北京', '上海', '深圳']
3
-1
5
2
hi li

我们可以利用.isdigit()进行简单的判断是否为数字

numStr = input("请输入一个数字>>> ")
print(numStr.isdigit())
if numStr.isdigit():
    num = int(numStr)
    print(num * 2)
else:
    print("输入有误,请输入一个纯数字!")

输出结果:

请输入一个数字>>> 21
True
42

可以通过.strip去掉字符串中的空格,len检查字符串长度

# 有空格也算有字符长度
user = input("请输入用户名: ")
user = user.strip()
print(user, len(user))

输出结果

请输入用户名: zhang 三
zhang 三 7

下面是.replace的使用方法

inf = "i am li,li i very nice,li is a boy"
new_inf = inf.replace("li", "zhang", 2)
print(inf)
print(new_inf)

输出结果为

i am li,li i very nice,li is a boy
i am zhang,zhang i very nice,li is a boy

上述不同的代码有众多的使用方法,就不依次举例了。

  • 44
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值