Python基础语法入门(第三天)——数据类型

在编程中,数据类型是一个很重要的概念,变量可以用来存储不同类型的数据,同时不同类型的数据也能够进行不同的操作,而Python中常见的数据类型如下所示

文本类型:str
数值类型:int, float, complex
序列类型:list, tuple, range
映射类型:dict
集合类型:set, frozenset
布尔类型:bool
二进制类型:bytes, bytearray, memoryview

同时我们可以通过内置函数type()来获取某个对象的数据类型。

name = 'quanmou'
print(type(name))

执行结果:

在这里插入图片描述

在这里我们就可以看到声明的变量name是一个字符串类型的数据。Python中声明变量时不用声明其类型,解释器会根据赋值的结构来自动进行判断。

示例数据类型
x = “Hello World”str
x = 29int
x = 29.5float
x = 1jcomplex
x = [“apple”, “banana”, “cherry”]list
x = (“apple”, “banana”, “cherry”)tuple
x = range(6)range
x = {“name” : “Bill”, “age” : 63}dict
x = {“apple”, “banana”, “cherry”}set
x = frozenset({“apple”, “banana”, “cherry”})frozenset
x = Truebool
x = b"Hello"bytes
x = bytearray(5)bytearray
x = memoryview(bytes(5))memoryview

如果要指定数据类型的话可以通过内置构造函数进行转换。

示例数据类型
x = str(“Hello World”)str
x = int(29)int
x = float(29.5)float
x = complex(1j)complex
x = list((“apple”, “banana”, “cherry”))list
x = tuple((“apple”, “banana”, “cherry”))tuple
x = range(6)range
x = dict(name=“Bill”, age=36)dict
x = set((“apple”, “banana”, “cherry”))set
x = frozenset((“apple”, “banana”, “cherry”))frozenset
x = bool(5)bool
x = bytes(5)bytes
x = bytearray(5)bytearray
x = memoryview(bytes(5))memoryview

一、数字类型

Python中数字类型共有三种

  • int(整数)
  • float(浮点数)
  • complex(复数)

实例

x = 666   # int
y = 666.6  # float
z = 6j   # complex

使用type查看如下

在这里插入图片描述

int

int是整数,分正负,长度不限

x = 88888888888
y = 666666666666666666666666666666666666666666666666
z = -999999999999999999

print(type(x))
print(type(y))
print(type(z))

执行结果:

在这里插入图片描述

float

浮点数是包含小数的整数或复数

x = 6.66
y = 6.0
z = -66.66

print(type(x))
print(type(y))
print(type(z))

执行如下:

在这里插入图片描述

当然也可以用带“e”的科学数字进行表示

x = -88.8e10
print(type(x))

输出:

在这里插入图片描述

复数

复数使用"j"作为虚部编写

x = 2+6j
y = 6j
z = -6j

print(type(x))
print(type(y))
print(type(z))

执行如下:

在这里插入图片描述

类型转换

数字之间可以通过int()、float()、complex()方法进行转换

x = 1
y = 2
z = 3

# 把整数转换为浮点数

a = float(x)

# 把浮点数转换为整数

b = int(y)

# 把整数转换为复数:

c = complex(x)

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

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

执行结果:

在这里插入图片描述

注意:复数无法转换为其他的数字类型

二、字符串

python中字符串类型的数字是由单引号或者双引号引起来的,如'hello'或者"hello",二者是相等的。

字符串赋值

a = 'hello'
b = "world"
print(a, b)

多行字符串

多行字符串可以使用三引号来实现,如下:

a = """Python is a widely used general-purpose, high level programming language. 
It was initially designed by Guido van Rossum in 1991 
and developed by Python Software Foundation. 
It was mainly developed for emphasis on code readability, 
and its syntax allows programmers to express concepts in fewer lines of code."""
print(a)

大多数语言都有这样的一个定义,字符串是表示unicode字符的字节数组。但是在Python中没有字符数据类型,单个字符就是长度为1的字符串。同时我们在获取字符串元素的时候可以使用方括号来实现。

例如(获取字符串中的第一个字符):

a = "Hello, World!"
print(a[0])

要注意的是,方括号中的数字,我们称为索引,索引的起始位置为0,所以当索引为0的时候表示获取字符串中的第一个元素,以此类推,当索引为1的时候表示获取字符串中的第二个元素。

切片

切片,就是用以截取字符串中指定位置开始到指定位置结束的一串字符所用的一把“刀”。也就是说我们可以通过切片从一个字符串中切一段字符串出来,但原字符串保持不变。

实现方式如下:

a = "Hello, World!"
print(a[0:5])	# 输出Hello

上方代码就是从字符串a中切出来Hello。当然如果是从头开始切的话冒号左边的数字是可以省略的,如下:

a = "Hello, World!"
print(a[:5])	# 输出Hello

同样的道理,如果是切到尾的话,冒号右边的数字也可以省略。

a = "Hello, World!"
print(a[6:])	# 输出World!

负数索引

索引是存在着负数形式的,当索引为负数的时候表示从字符串尾部开始计数,如-1表示最后一个元素,-2表示倒数第二个元素,以此类推,那么如果想切出World不要感叹号的话就可以这样来编写代码

a = "Hello, World!"
print(a[6:-1])	# 输出World

大家可能会有疑惑,-1表示最后一个元素,为什么冒号右边写着-1但是却没有取出来最后一个元素,也就是哪一个感叹号呢?

这是因为切片中,实现的是左闭右开的数学原理,即取值的时候冒号左边索引对应的值会取出,冒号右边索引对应的值不会取出。

字符串长度

要想知道我们的字符串长度为多少,可以通过len()方法进行实现,同样的后面将要学习的列表、集合、元组等也可以通过len()方法来获取其长度,返回值唯一个数字类型

a = "Hello, World!"
print(len(a))	# 输出为13

三、常用的字符串方法

字符串类型有着自己专用的内置方法,如将字符串开头和结尾的空白符删除,使用**strip()**方法来实现

a = " Hello, World! "
print(a.strip()) # 输出 "Hello, World!"

lower()

将字符串中所有字符转换为小写

a = "Hello, World!"
print(a.lower())	# hello, world!

upper()

将字符串中所有字符转换为大写

a = "Hello, World!"
print(a.upper())	# HELLO, WORLD!

replace()

用另一段字符串来替换字符串

a = "Hello, World!"
print(a.replace("World", "Kitty"))	# Hello, Kitty!
# 表示将字符串a中的World替换成Kitty

split()

将字符串以字符串中的某一个字符进行分割,例如将Hello, World!以逗号进行分割

a = "Hello, World!"
print(a.split(",")) # ['Hello', ' World!']

in

in主要是用于判断字符串中是否包含了某一个特定的字符或者短语,如果包含则返回True,不包含则返回False

txt = "China is a great country"
x = "ina" in txt
print(x)	#True

字符串拼接

字符串的拼接就是将两个字符串连接在一起,一个字符串的头部连接在另一个字符串的尾部。

a = "Hello"
b = "World"
c = a + " " + b
print(c)	# Hello World

格式化字符串

有时候字符串可能不是固定的,比如说要去描述一个人的年龄,每一年年龄都会增长,所以在字符串中关于某人的年龄是会发生变化的,因此我们就可以将这个变化的年龄存在变量中然后将该变量格式化到字符串中去。

目前格式化的方式有三种,分别如下

format()实现字符串格式化

age = 63 
txt = "My name is Bill, and I am {}".format(age)
print(txt)	# My name is Bill, and I am 63

其实这个过程就是一个挖坑->播种的过程,原字符串中需要我们更新的内容就挖上一个坑,也就是代码中字符串里面大家看到的{}然后要格式化进去的内容age就通过format将这颗种子播进去,同时也可以有多个坑,多颗种子,如下:

age = 63
name = "quanmou"
txt = "My name is {}, and I am {}".format(name, age)
print(txt)	# My name is quanmou, and I am 63

需要注意的是,每个坑位播种哪一颗种子要一一对应,第一个坑位要播name那么在format中第一个参数就是name。

f表达式实现格式化

同时也可以通过在字符串前面的引号之前加上小写的字母f来实现,一样是挖坑填坑

age = 63
name = "quanmou"
txt = f"My name is {name}, and I am {age}"
print(txt)	# My name is quanmou, and I am 63

注意:f表达式实现格式化只支持3.6以上的python版本

占位符%s等实现格式化

占位符是格式化字符串中的特殊符号,在字符串中会被替换成真实的值,常见的占位符如下:

  • %d: 整数。
  • %f: 浮点数。
  • %s: 字符串。
  • %r: 字符串,使用 repr() 函数来转换对象

Python中%s基本就能够格式化所有类型的数据到字符串之中了

如下案例:

age = 63
name = "quanmou"
txt = f"My name is %s, and I am %s"	% (name, age)
print(txt)	# My name is quanmou, and I am 63

如果要严格按照格式进行的话可以参考下方代码

name = 'Alice'
age = 28
score = 95.6

print('My name is %s. I am %d years old. My score is %.2f.' % (name, age, score))
# 输出: "My name is Alice. I am 28 years old. My score is 95.60."

四、字符串内置方法表

字符串内置方法除了我们在第三节描述的常用的之外,还存在其他的方法,整体如下:

方法描述
capitalize()把首字符转换为大写。
casefold()把字符串转换为小写。
center()返回居中的字符串。
count()返回指定值在字符串中出现的次数。
encode()返回字符串的编码版本。
endswith()如果字符串以指定值结尾,则返回 true。
expandtabs()设置字符串的 tab 尺寸。
find()在字符串中搜索指定的值并返回它被找到的位置。
format()格式化字符串中的指定值。
format_map()格式化字符串中的指定值。
index()在字符串中搜索指定的值并返回它被找到的位置。
isalnum()如果字符串中的所有字符都是字母数字,则返回 True。
isalpha()如果字符串中的所有字符都在字母表中,则返回 True。
isdecimal()如果字符串中的所有字符都是小数,则返回 True。
isdigit()如果字符串中的所有字符都是数字,则返回 True。
isidentifier()如果字符串是标识符,则返回 True。
islower()如果字符串中的所有字符都是小写,则返回 True。
isnumeric()如果字符串中的所有字符都是数,则返回 True。
isprintable()如果字符串中的所有字符都是可打印的,则返回 True。
isspace()如果字符串中的所有字符都是空白字符,则返回 True。
istitle()如果字符串遵循标题规则,则返回 True。
isupper()如果字符串中的所有字符都是大写,则返回 True。
join()把可迭代对象的元素连接到字符串的末尾。
ljust()返回字符串的左对齐版本。
lower()把字符串转换为小写。
lstrip()返回字符串的左修剪版本。
maketrans()返回在转换中使用的转换表。
partition()返回元组,其中的字符串被分为三部分。
replace()返回字符串,其中指定的值被替换为指定的值。
rfind()在字符串中搜索指定的值,并返回它被找到的最后位置。
rindex()在字符串中搜索指定的值,并返回它被找到的最后位置。
rjust()返回字符串的右对齐版本。
rpartition()返回元组,其中字符串分为三部分。
rsplit()在指定的分隔符处拆分字符串,并返回列表。
rstrip()返回字符串的右边修剪版本。
split()在指定的分隔符处拆分字符串,并返回列表。
splitlines()在换行符处拆分字符串并返回列表。
startswith()如果以指定值开头的字符串,则返回 true。
strip()返回字符串的剪裁版本。
swapcase()切换大小写,小写成为大写,反之亦然。
title()把每个单词的首字符转换为大写。
translate()返回被转换的字符串。
upper()把字符串转换为大写。
zfill()在字符串的开头填充指定数量的 0 值。

**注:**所有字符串方法都返回新值。它们不会更改原始字符串。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Python基础语法数据类型包括数字、字符串、列表、元组、集合和字典。 1.数字Python支持三种不同的数字类型:整型、浮点型和复数。其中,整型是指整数,浮点型是指带有小数点的数字,复数是由实数部分和虚数部分构成的数字。 2.字符串:字符串是Python中最常用的数据类型之一,用于表示文本。可以使用单引号或双引号来创建字符串。 3.列表:列表是Python中最常用的数据结构之一,用于存储一组有序的元素。列表中的元素可以是不同的数据类型,包括数字、字符串、列表等。 4.元组:元组与列表类似,也是用于存储一组有序的元素。不同之处在于,元组是不可变的,即不能修改元组中的元素。 5.集合:集合是Python中用于存储一组唯一元素的数据类型。集合中的元素是无序的,且不能重复。 6.字典:字典是Python中另一个常用的数据结构,用于存储一组键值对。字典中的键必须是唯一的,而值可以是任意数据类型。 下面是一个例子,展示了如何创建和使用Python中的各种数据类型: ```python # 整型 x = 10 print(type(x)) # 输出:<class 'int'> # 浮点型 y = 3.14 print(type(y)) # 输出:<class 'float'> # 复数 z = 2 + 3j print(type(z)) # 输出:<class 'complex'> # 字符串 s = "Hello, world!" print(type(s)) # 输出:<class 'str'> # 列表 lst = [1, 2, 3, "four", 5.0] print(type(lst)) # 输出:<class 'list'> # 元组 tup = (1, 2, 3, "four", 5.0) print(type(tup)) # 输出:<class 'tuple'> # 集合 s = {1, 2, 3, 4, 5} print(type(s)) # 输出:<class 'set'> # 字典 d = {"name": "Alice", "age": 25, "city": "New York"} print(type(d)) # 输出:<class 'dict'> ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

quanmoupy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值