从零自学Python:day03
写在前面:
此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出。欢迎各位前来交流。(部分材料来源网络,若有侵权,立即删除)
为了追随硕哥的脚步,抄个前言标题不过分吧哈哈哈哈哈
文科专业,与编程计算机网安等毫无关系,很多用语不准确,只是为了按自己理解的方式去记录学习情况,也希望我的写的东西能帮助一些和我一样对编程有兴趣的与编程无关专业的人,如有建议欢迎提出
Python3基本数据类型概述
Python中的变量不需要声明后使用,但是要赋值才能使变量被创建
变量本身没有类型,我们所说的"类型"是变量所指的内存中对象的类型。(我理解的是依据赋值类型的不同来划分成不同的变量)
用等号=给变量赋值
变量名=赋给变量的值
等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。
#!/usr/bin/python3
counter = 100 # 整型变量
miles = 1000.0 # 浮点型变量
name = "runoob" # 字符串
print (counter)
print (miles)
print (name)
执行以上程序会输出如下结果:
100
1000.0
runoob
标准数据类型
Python3 中有六个标准的数据类型:
Number(数字)
String(字符串)
List(列表)
Tuple(元组)
Set(集合)
Dictionary(字典)
Python3 的六个标准数据类型中:
不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
什么是可变不可变
首先说一下什么是Python数据的可变不可变。
我们都知道定义变量的时候,是先创建一块内存空间,将值放进去,然后变量名里存放着该内存空间的内存地址。现在我们就可以解释了。
可变类型:就是这个数据类型的值在不改变这一块内存空间,而去改变这个数据类型的值。
不可变类型:当改变值得时候,会申请一块新的内存空间,不再是原来的那一块内存空间了
多个变量赋值
讲了两种情况
第一种
多个变量赋统一值
a = b = c = 1
a,b,c三个变量都被赋值1
第二种
多个变量分别赋值
a, b, c = 1, 2, “runoob”
对应的变量与值进行赋值
两个整型对象 1 和 2 的分配给变量 a 和 b,字符串对象 “runoob” 分配给变量 c。
(整型对象应该就是上一篇数字类型中的整数)
(根据前面几个赋值字符串的例子,赋值时字符串应该在" "中)
数据类型
String(字符串)
关于字符串重要的是截取字符的方法
Python中的字符串用单引号 ’ 或双引号 " 括起来,同时使用反斜杠 \ 转义特殊字符。
字符串的截取的语法格式如下:
变量[头下标:尾下标]
索引值以 0 为开始值,-1 为从末尾的开始位置。
一串字符abcdef
从前截取时对应的编号分别是012345
从后截取时对应的编号分别是-6 -5 -4 -3 -2 -1
加号 + 是字符串的连接符, 星号 * 表示复制当前字符串,与之结合的数字为复制的次数。实例如下:
#!/usr/bin/python3
str = 'Runoob'
print (str) # 输出字符串
print (str[0:-1]) # 输出第一个到倒数第二个的所有字符
print (str[0]) # 输出字符串第一个字符
print (str[2:5]) # 输出从第三个开始到第五个的字符
print (str[2:]) # 输出从第三个开始的后的所有字符
print (str * 2) # 输出字符串两次,也可以写成 print (2 * str)
print (str + "TEST") # 连接字符串
输出结果为
Runoob
Runoo
R
noo
noob
RunoobRunoob
RunoobTEST
Python 使用反斜杠 \ 转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串:
(这不就是换行的意思吗,可转义不等于换行,这里讲的就是换行)
print(‘Ru\noob’)
得到
Ru
oob
print(r’Ru\noob’)
得到
Ru\noob
另外,反斜杠()可以作为续行符,表示下一行是上一行的延续。也可以使用 “”"…""" 或者 ‘’’…’’’ 跨越多行。
注意,Python 没有单独的字符类型,一个字符就是长度为1的字符串。
Python的字符串不能被改变,不能通过索引出字符串中某一位置重新赋值进行改变
Python数据类型转换
函数 描述
int(x [,base]) 将x转换为一个整数
float(x) 将x转换到一个浮点数
complex(real [,imag]) 创建一个复数
str(x) 将对象 x 转换为字符串
repr(x) 将对象 x 转换为表达式字符串
eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s) 将序列 s 转换为一个元组
list(s) 将序列 s 转换为一个列表
set(s) 转换为可变集合
dict(d) 创建一个字典。d 必须是一个 (key, value)元组序列。
frozenset(s) 转换为不可变集合
chr(x) 将一个整数转换为一个字符
ord(x) 将一个字符转换为它的整数值
hex(x) 将一个整数转换为一个十六进制字符串
oct(x) 将一个整数转换为一个八进制字符串
其他的数据类型我真的看的一脸懵逼,明天再求救硕哥给我科普一些专业名词
还好因为看过一点js字符串比较好懂,其实没基础也好理解,主要是要记得一些操作方法,所以基本就当搬运工了,只是稍微改了一些东西让我好理解一点。
还有疑惑的地方
另外,反斜杠()可以作为续行符,表示下一行是上一行的延续。也可以使用 ‘’’’’’…""" 或者 ‘’’…’’’ 跨越多行。
答:其实就是前面讲的多行语句
本文地址:https://blog.csdn.net/weixin_48706479/article/details/107399376