Python数据类型详解之字符串、数字
本篇文章给大家带来了关于python的相关知识,其中主要介绍了关于数据类型之字符串、数字的相关问题,下面一起来看一下,希望对大家有帮助。
推荐学习:python视频教程
数据类型
变量
Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。
等号(=)用来给变量赋值。
等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。
message = “hello,Python" print(message)
运行结果如下:
变量与值之间时一对一的进行关联信息,在程序运行时,一个变量只能代表一个值。
Python允许你同时为多个变量赋值。如:
a = b = c = 1 a, b, c = 1, 2, "runoob"
变量的命名规则
- 变量名只能包含字母、数字和下划线。可以字母和下划线开头,但不能数字开头。
- 变量名不能含有空格,但可以使用下划线来分割其中的单词。
- 不能讲Python关键字用作变量名。Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字:
import keyword print(keyword.kwlist)
注意:慎用小写字母l和大写字母O,因为他们可能被错看成数字1和0。
Python中一般使用小写字母的变量名。在变量名中使用大写字母虽然不会导致错误,但还是应避免使用大写字母。
标准数据类型
Python3 中有六个标准的数据类型:
- Number(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- Set(集合)
- Dictionary(字典)
Python3 的六个标准数据类型中:
- 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
- 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
字符串
字符串(string)
word = '字符串' sentence = "这是一个句子。" paragraph = """这是一个段落, 可以由多行组成"""
- python中单引号和双引号使用完全相同。
- 使用三引号(’’’ 或 “”")可以指定一个多行字符串。
- 转义符 。
- 反斜杠可以用来转义,使用r可以让反斜杠不发生转义。。 如 r"this is a line with
" 则
会显示,并不是换行。 - 按字面意义级联字符串,如"this " "is " "string"会被自动转换为this is string。
- 字符串可以用 + 运算符连接在一起,用 * 运算符重复。
- Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。
- Python中的字符串不能改变。
- Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。
- 字符串的截取的语法格式如下:变量[头下标:尾下标:步长]
str='史迪崽儿的Python日记' print(str) # 输出字符串 print(str[0:-1]) # 输出第一个到倒数第二个的所有字符 print(str[0]) # 输出字符串第一个字符 print(str[2:5]) # 输出从第三个开始到第五个的字符 print(str[2:]) # 输出从第三个开始后的所有字符 print(str[1:5:2]) # 输出从第二个开始到第五个且每隔一个的字符(步长为2) print(str * 2) # 输出字符串两次 print(str + '你好') # 连接字符串 print('------------------------------') print('hello runoob') # 使用反斜杠()+n转义特殊字符 print(r'hello runoob') # 在字符串前面添加一个 r,表示原始字符串,不会发生转义 print(' ') # 输出空行 print(r' ') # 输出 >>>
运行结果如下:
转义字符
- 在字符串中添加制表符,“ ”。
- 在字符串中添加换行符,“
”。 - 反斜杠符号,“”。
- 单引号,“’”。
- 双引号,“"”。
- 回车,“”。
str1 = "睡觉诗" str2 = "'史迪崽儿' 2021-12-13" str3 = "春困秋乏夏打盹 冬眠不是一小会" print(str1) print(str2) print(str3)
修改字符串大小写
- 将每个单词的首字母都改为大写,title()。
- 将字母全部转换为大写,upper()。
- 将字母全部转换为小写,lower()。
str = "hello,my dear Python world" print(str.title()) print(str.upper()) print(str.lower())
删除字符串空白
- 去除末尾空白,rstrip()。
- 去除开头空白,lstrip()。
- 去除开头和末尾空白,strip()。
str = " A " print(str) print(str.rstrip()) print(str.lstrip()) print(str.strip())
如果三四看不出来区别,可点击行末尾,第三行光标停留在“A”的后面一段距离,而第四行停留在“A”后面。
判断字符串全是字母或数字
- 判断字符串全是字母,isalpha()。
- 判断字符串全是数字,isdigit()。
- 判断字符串既有字母又有数字,isalnum()。
str1 = "abc" str2 = "123" str3 = "abc123" print("三个字符串是否全为字母:") print(str1.isalpha()) print(str2.isalpha()) print(str3.isalpha()) print("三个字符串是否全为数字:") print(str1.isdigit()) print(str2.isdigit()) print(str3.isdigit()) print("三个字符串是否既有字母又有数字:") print(str1.isalnum()) print(str2.isalnum()) print(str3.isalnum())
字符串查找
- 首词的查找,startswith()。
- 尾词的查找,endswith()。
- 任意位置词的查找,从左往右查find()或从右往左查rfind()。
names = "张三" print(names.startswith("张")) print(names.endswith("四")) articles = "爱不是索取,亦不是占有,而是看到你幸福就好。即便这世上不再有我,即便我没法再守护你,我会化作人间的风雨,永远陪伴在你身边,永远……" print(articles.find("守护")) print(articles.rfind("守护"))
其中,38是“守护”一词的位置,从0开始计算,不管从左往右查还是从右往左查,位置不变。
字符串替换
replace(),替换。
articles = "爱不是索取,亦不是占有,而是看到你幸福就好。即便这世上不再有我,即便我没法再守护你,我会化作人间的风雨,永远陪伴在你身边,永远……" print(articles.replace("守护","保护"))
数字(Number)
Python3 支持 int、float、bool、complex(复数)。
在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
内置的 type() 函数可以用来查询变量所指的对象类型,此外还可以用 isinstance 来判断,返回bool值。
a = 111 print(isinstance(a, int))
isinstance 和 type 的区别在于:
type()不会认为子类是一种父类类型。
isinstance()会认为子类是一种父类类型。
**注意:**Python3 中,bool 是 int 的子类,True 和 False 可以和数字相加, True == 1、False == 0 会返回 True,但可以通过 is 来判断类型。
算数运算符
+加法
-减法
*乘法
/除法
%取余
//整除取商
**幂
赋值运算符
=赋值
+=加赋值
-+减赋值
*=乘赋值
/=除赋值
%=取余赋值
//=整除赋值
**=幂赋值
**注意:**在其他语言中,如C++,java中,都有自增自减操作符“++”,“–”,但是在Python中表示正负。
推荐学习:python视频教程