Python基础02 基本数据类型
简单的数据类型以及赋值
变量不需要声明
Python的变量不需要声明,你可以直接输入:
>>>a = 10
那么你的内存里就有了一个变量a, 它的值是10,它的类型是integer (整数)。 在此之前你不需要做什么特别的声明,而数据类型是Python自动决定的。
>>>print(a)
>>>print(type(a))
那么会有如下输出:
10
<class 'int'>
这里,我们学到一个内置函数type(), 用以查询变量的类型。
回收变量名
如果你想让a存储不同的数据,你不需要删除原有变量就可以直接赋值。
>>>a = 1.3
>>>print(a,type(a))
会有如下输出
1.3 <class 'float'>
我们看到print的另一个用法,也就是print后跟多个输出,以逗号分隔。
基本数据类型
a=10 # int 整数
a=1.3 # float 浮点数
a=True # 真值 (True/False)
a='Hello!' # 字符串。字符串也可以用双引号。
以上是最常用的数据类型。此外还有分数,字符,复数等其他类型,有兴趣的可以学习一下。
总结
变量不需要声明,不需要删除,可以直接回收适用。
type(): 查询数据类型
整数,浮点数,真值,字符串
如果你喜欢这篇文章,欢迎推荐。
技术推动进步,分享促进社区。
评论列表
@
Raining Days
第一个问题:
因为两个参与运算的数字都是整数,所以它默认结果为整数。
你可以尝试 a = -1.0/5 或者 a = -1/5.0。由于参与运算中有一个是浮点数,所以整数会转换成更高精度的浮点数,再进行运算。
你也可以尝试 a = -float(1)/5,原理一样。
第二个问题,虚部是j,不是i
>>> a = 3 - 2j
>>> b = 2 + 1j
>>> a + b
(5-1j)
Raining Days
第一个问题:
因为两个参与运算的数字都是整数,所以它默认结果为整数。
你可以尝试 a = -1.0/5 或者 a = -1/5.0。由于参与运算中有一个是浮点数,所以整数会转换成更高精度的浮点数,再进行运算。
你也可以尝试 a = -float(1)/5,原理一样。
第二个问题,虚部是j,不是i
>>> a = 3 - 2j
>>> b = 2 + 1j
>>> a + b
(5-1j)
你好, 博主,
python 变量不需要声明
为什么下载这段代码中的 a 要先定义呢??
<img src="//i.minus.com/iIM0SEvp3D4jg.jpg" alt="" border="0" "="">
python 变量不需要声明
为什么下载这段代码中的 a 要先定义呢??
<img src="//i.minus.com/iIM0SEvp3D4jg.jpg" alt="" border="0" "="">
@
Vamei
我觉得 if 与 for 的情况是相同的, 但是 for 可以执行不报错
Vamei
我觉得 if 与 for 的情况是相同的, 但是 for 可以执行不报错
1 2 3 4 5 6 7 | #!/bin/python#为什么这里a不用声明for a in range(10): print a |
我有两个问题,一个是上一篇的问题,一起问了吧
1.我知道Linux的目录结构有树的概念,可以一直相对路径/找到文件,但是我用的windows,例如如果我安装在C盘,但是我在F盘建立了一个存放脚本的文件目录python script,建立了一个hello.py,我怎样通过命令执行这个脚本文件hello.py
2.9楼的说过得到的值是-0.2,这说明python默认把-1/2的-1当做float类型了,但是如果我现在想获得c语言中的-1/2的值,应该是0,我改成(int)-1/2或者-(int)1/2为什么都会报错,另外怎么实现像c语言一样
1.我知道Linux的目录结构有树的概念,可以一直相对路径/找到文件,但是我用的windows,例如如果我安装在C盘,但是我在F盘建立了一个存放脚本的文件目录python script,建立了一个hello.py,我怎样通过命令执行这个脚本文件hello.py
2.9楼的说过得到的值是-0.2,这说明python默认把-1/2的-1当做float类型了,但是如果我现在想获得c语言中的-1/2的值,应该是0,我改成(int)-1/2或者-(int)1/2为什么都会报错,另外怎么实现像c语言一样
1.我上网查了,可以通过cmd中f:\python script>C:\Python33\python.exe hello.py这样才能执行,但是这样必须切换到脚本所在的目录,如果我想直接在python shell中执行呢?像这样>>> f:\python script\hello.py,就报错了SyntaxError: invalid syntax(:会变成红色),怎样才能在shell中直接执行?
2.print(1/2);和print(int(1)/int(2));的答案都是0.5,看来是不行了?
2.print(1/2);和print(int(1)/int(2));的答案都是0.5,看来是不行了?
@
山之巅
1. 还真不知道能不能在Python内部运行Python脚本。应该有一些特殊方法可以做到,比如利用os包里的功能,运行外部命令?
2. 似乎彻底改掉了。我还在用2.7,所以无法复制你说的效果。
山之巅
1. 还真不知道能不能在Python内部运行Python脚本。应该有一些特殊方法可以做到,比如利用os包里的功能,运行外部命令?
2. 似乎彻底改掉了。我还在用2.7,所以无法复制你说的效果。
@
Triangle23
1、2010中的 010表示的是八进制,实际就是 010(八进制)= 18^1 + 08^0 = 8(十进制);
2、210中的10就是十进制当中的10;
3、所以:
2010 = 2^8 = 256;
210 = 2^10 = 1024;
4、关于进制的表示:
十进制:生活中最常用的;0,1,2...
十二进制:钟表的时针;
六十进制:钟表的分针和秒针;
二进制:101010101011(零和一表示),互联网最底层的数据表示;
八进制:010,076,... 一般前面无缘无故带个零的,你就要考虑是不是八进制 了,如果0后面的最大数没有超过8,那极有可能是八进制表示的数;
十六进制:0x091abcdef ,一般前面带有0x的,就是十六进制表示的数,0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f 总共16个字符表示十六进制的数,一般都是计算十六进制转十进制;计算时,a表示10,b表示11,...,f表示15;IPV6就是用十六进制表示的。
Triangle23
1、2010中的 010表示的是八进制,实际就是 010(八进制)= 18^1 + 08^0 = 8(十进制);
2、210中的10就是十进制当中的10;
3、所以:
2010 = 2^8 = 256;
210 = 2^10 = 1024;
4、关于进制的表示:
十进制:生活中最常用的;0,1,2...
十二进制:钟表的时针;
六十进制:钟表的分针和秒针;
二进制:101010101011(零和一表示),互联网最底层的数据表示;
八进制:010,076,... 一般前面无缘无故带个零的,你就要考虑是不是八进制 了,如果0后面的最大数没有超过8,那极有可能是八进制表示的数;
十六进制:0x091abcdef ,一般前面带有0x的,就是十六进制表示的数,0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f 总共16个字符表示十六进制的数,一般都是计算十六进制转十进制;计算时,a表示10,b表示11,...,f表示15;IPV6就是用十六进制表示的。
b = 1/5 输出0 都是int型且是正数
b = -1/5 输出 -1 python带有负数除法是按距离来做除法运算也就-1 到 5的距离是6 6/5 = 1 然后在加上符号-
这一点可验证
所以在取模运算时 商的结果会影响取模结果,c/c++ java 是求余
b = -1/5 输出 -1 python带有负数除法是按距离来做除法运算也就-1 到 5的距离是6 6/5 = 1 然后在加上符号-
这一点可验证
1 2 3 4 5 | print -1/5print -10/5print 10/-5print 15/-5print -16/5 |
所以在取模运算时 商的结果会影响取模结果,c/c++ java 是求余




浙公网安备 33010602011771号
我是刚来看的,这么说的话,在python里面可以随心所欲的定义数据,而且它会自动分配一个合适的数据类型给你,一个变量,可以是多种类型了吧。