print是“打印”的意思,也就是说,把内容打印出来
print("hello world")
让我们来猜一下这串代码的运行结果,是"hello world“还是hello world
答案是hello world
这串代码的意思为:打印hello world
那如果这么写会怎么样
print(“hello world”)
又或者这样
print(hello world)
当运行这两个代码时,系统会进行报错,为什么呢
观察第一个代码与正确的区别,会发现这个代码用的是中文格式的,而正确的代码是用英文格式的
观察第二个代码,会发现它没有加双引号
以上两个将我们引入一个问题中:print函数到底能打印什么内容?
想要回答刚才那个问题,我们要先知道python中的数据格式
Python中的基本数据类型
1.数值型
2.布尔型
3.字符串
4.列表
5.元组
6.字典
7.集合
什么是字符串?在python中,所有加上引号的数值都为字符串,这里引号包括单引号、双引号和三引号
而不加引号的英文或者汉字会被识别为变量
我 = "hello world" print(我)#输出结果为hello world
这里输出结果就为hello world,第一行让 “我” 这个变量等于 hello world这个过程叫做赋值
我 = hello world print(我) #报错
这里就是错误的,第一行中,让两个没有经过赋值的变量相等,输出不出来什么结果
而我们要是这样呢
我 = 1 helloworld = 我 print(helloworld) #输出结果为1
这个输出结果为1。很容易理解 我=1 而helloworld=我,所以打印helloworld的结果为1
聪明的你可能会发现,我这里用的是helloworld并非hello world,如果是hello world会怎么样呢
我 = 1 hello world = 我 print(hello world) #报错
结果是会报错,因为helloworld是一个整体,而hello world在我们看来是整体,但计算机不会这么认为,它会因为等号前面的整体里有一个空格而不知道处理哪个
而我们要是这样子整呢
我 = 1 我 = helloworld print(我) #报错
结果还是会报错,为什么呢,看下面的情况
我 = 1 helloworld = 2 我 = helloworld print(我) #输出结果为 2
输出结果为2.这里可能就会疑惑了,为啥结果是2而不是1
举个例子,你的母亲叫你吃饭,然后又叫你洗手,那么你现在会去吃饭还是洗手。相信很多人会选择去先洗手吧。
同样的道理,“我”这个变量一开始等于1,然后又告诉计算机“我”这个变量现在等于“helloworld”这个变量,那么“我”现在就等于“helloworld”,所以print打印出来的就是2
再看上面报错那个,第二行代码意味着这时”我“已经等于”helloworld“了,而”helloworld“为空变量,所以会出错,那如果我们这样修改呢
我 = 1 我 = helloworld helloworld = 2 print(我) #报错
结果会报错,为什么呢?明明已经给“helloworld”赋值为2,结果却是报错呢
第二行代码确实意味着这时的“我”等于“helloworld”,但是它是等于此时还没赋值的“helloworld”,也就是说,这时的“我”还是个空变量,所以会报错
数值型分为
int(整型)
long(长整型)
float(浮点型)
complex(复数型)
1.int(整型)
整型在python中默认用十进制表示,此外,也支持二进制,八进制,十六进制表示方法。
什么是整型,就是整数
#所谓整型就是整数10 9 100 156 23这些都属于整型 print(10) print(9)
在32位机器上,整数的位数是32位,取值范围是-231到231-1,即-2147483648到214748364;在64位系统上,整数的位数为64位,取值范围为-263到263-1,即
9223372036854775808到9223372036854775807。
进制转换
十进制变其他
bin() 变成二进制
oct() 变成八进制
hex() 变成16进制
a = bin(100) print(a) b = oct(100) print(b) c = hex(100) print(c)
输出结果为
0b1100100 0b代表2进制,后面的是结果
0o144 0o代表8进制,后面的是结果
0x64 0x代表16进制,后面的是结果
其他变十进制(转10进制)
a=input() b = int(a , 16) #这里想16进制变10进制,就是16;8进制变,就是8 print(b)
观察这段代码,第一行中的input,是输入的意思
比如我输入的是64,那么a变量就等于我输入的数字64,输出结果就是64对应的10进制数字100
2.long (长整型)
与int类似,但是表示的范围比较大
Python3里不再有long类型了,全都是int,知道有个这东西就行
3.float(浮点型)
所谓浮点型就是带小数点的数
a = 3.1415926 #3.1415926就是浮点数 print(a)
4.complex(复数型)
在python中,复数的虚部以j或者J作为后缀
a = 12 + 0.2j print(a)三.bool(布尔型)
⽤于逻辑运算,有两个值:True(真)和False(假)。
a = 3 > 2 print(a) #输出结果为Ture
因为3>2是真的,所以输出为Ture
a = 3 < 2 print(a)
因为3<2是假的,所以输出为False
四. list(列表)列表是一种可变的数据类型 ,
列表中可以放任何数据类型,
列表中的多个元素之间用逗号进行分割 ,
最外层用[ ]括起来,
a = ["hello world",10,3>2,3<2] print(a) #输出结果为['hello world', 10, True, False]
输出结果为[‘hello world’, 10, True, False]
a = [ ] print(a) #输出结果为[ ]
输出结果为[ ]
五.tuple(元组)与列表相似,不同之处就在于元组的元素不能被修改。
列表使用的是中括号“[]”,元组使用的是小括号“()”。
列表属于可变类型,元组属于不可变类型。
a = ("hello world",10,3>2,3<2)
print(a) #输出结果为('hello world', 10, True, False)
输出结果为(‘hello world’, 10, True, False)
a = ("hello world",10,3>2,3<2,["hello world",10,3>2,3<2])
print(a) #输出结果为('hello world', 10, True, False, ['hello world', 10, True, False])
输出结果为(‘hello world’, 10, True, False, [‘hello world’, 10, True, False])
六.dict(字典类型)字典类型,故名思意,就是做个字典,可以一一对应的进行查找
分数 = {'小明':80,'小红':90,'李华':0}
a = 分数['小明']
b = 分数['小红']
c = 分数['李华']
print(a) #输出结果为80
这个代码意思为:设置一个叫做“分数”的字典变量,变量中,小明对应80,小红对应90,李华对应0,a赋值为小明在“分数”字典变量中对应的值,b赋值为小红对应的值,c就是李华对应的值,打印a,输出结果就是80
注意代码中的格式,大括号,单引号,冒号,逗号
集合是无序的,集合中的元素是唯一的
a = {"hello","hello","world"}
print(a) #输出结果为{'hello', 'world'}
输出结果为{‘hello’, ‘world’}
因为集合中的元素是唯一的,有两个“hello”,所以输出结果只有一个“hello”
1.转int(整型)
int() 函数⽤于将⼀个字符串或数字转换为整型
a = "100" print(type(a)) b = int(a) print(b) c = type(b) print(c)
输出结果为
100
这里有个新函数type,它是用来确认内容数据是什么类型了,可以看到
变量a是str类型,变量c是int类型,变量c代表的是变量b的数据类型,所以变量b的数据类型是int类型,变量b是由变量a变来的。
注意:要转换的字符串中只能包含数字,浮点数可以转换为整数,但浮点数作为字符串不能
a = 3.1415926 print(type(a)) b = int(a) print(b) c = type(b) print(c)
输出结果为3,这里是3.1415926,不是“3.1415926”
2.转str(字符串)
str() 函数⽤于将任何类型的值转换为字符串类型,任何类型的值都可以转换为 Python 中的字符串
a = (10,3<2,[5,3.12]) print(type(a)) b = str(a) print(b) c = type(b) print(c)
输出结果为
(10, False, [5, 3.12])
可以看到,变量a是一个包括整型,布尔型,列表的元组,结果str函数后,变成了str类型
3.转float(浮点型)
a = "3.1415926" print(type(a)) b = float(a) print(b) c = type(b) print(c)
输出结果为
3.1415926
成功将str变成float
注意:
float()括号内只能是三种类型的数据:
⼆进制、⼋进制、⼗进制、⼗六进制的整数。
bool(布尔值True和False)。
表⽰⼗进制数字的字符串(如 ‘32’ )。
a = 5>1 print(type(a)) b = float(a) print(b) c = type(b) print(c)
输出结果为
1.0
a = 1>11 print(type(a)) b = float(a) print(b) c = type(b) print(c)
输出结果为
0.0
观察刚才两段代码,可以发现都是由bool类型变成float类型,并且结果是truth对应的是1.0,结果是false的对应0.0



