简单的数据类型以及赋值
变量不需要声明
Python的变量不需要声明,你可以直接输入:
>>>a = 10
那么你的内存里就有了一个变量a, 它的值是10,它的类型是integer (整数)。 在此之前你不需要做什么特别的声明,而数据类型是Python自动决定的。
>>>print(a)
>>>print(type(a))
那么会有如下输出:
10
这里,我们学到一个内置函数type(), 用以查询变量的类型。
回收变量名
如果你想让a存储不同的数据,你不需要删除原有变量就可以直接赋值。
>>>a = 1.3
>>>print(a,type(a))
会有如下输出
1.3
我们看到print的另一个用法,也就是print后跟多个输出,以逗号分隔。
基本数据类型
a=10 # int 整数
a=1.3 # float 浮点数
a=True # 真值 (True/False)
a='Hello!' # 字符串。字符串也可以用双引号。
以上是最常用的数据类型。此外还有分数,字符,复数等其他类型,有兴趣的可以学习一下。
总结
变量不需要声明,不需要删除,可以直接回收适用。
type(): 查询数据类型
整数,浮点数,真值,字符串
如果你喜欢这篇文章,欢迎推荐。
技术推动进步,分享促进社区。
posted @ -05-28 20:05 Vamei 阅读(115991) 评论(27) 编辑 收藏
评论列表
回复引用
#1楼 -11-22 19:58 Raining Days
我是初学者,毕竟要毕业了多学一点十一点,之前一直是c/c++的编程,也有参加过相应的比赛。这阵子不是特别忙,就想学点什么。之后再在博主这里学学linux。
我是刚来看的,这么说的话,在python里面可以随心所欲的定义数据,而且它会自动分配一个合适的数据类型给你,一个变量,可以是多种类型了吧。支持(0)反对(1)/face/397161/0507205142.png
回复引用
#2楼 -11-22 20:00 Raining Days
我刚才有试过a=-1/5,可是输出来的a=-1,而且我试过a=-2i+3,想要输出发现有错误,求博主解释一下。支持(0)反对(0)/face/397161/0507205142.png
回复引用
#3楼[楼主] -11-22 20:26 Vamei
@
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)
回复引用
#4楼[楼主] -11-22 20:27 Vamei
@
Raining Days
关于动态类型,你可以查看后面的教程中的介绍。
回复引用
#5楼 -12-06 00:28 fz420
你好, 博主,
python 变量不需要声明
为什么下载这段代码中的 a 要先定义呢??支持(0)反对(0)
回复引用
#6楼[楼主] -12-06 10:04 Vamei
@
fz420
是不需要声明类型。可你用在if判断里面,这个a总要是个什么东西吧,不然如何拿一个“虚无”的东西去做判断呢?
回复引用
#7楼 -12-06 13:18 fz420
@
Vamei
我觉得 if 与 for 的情况是相同的, 但是 for 可以执行不报错
回复引用
#8楼[楼主] -12-06 13:34 Vamei
@
fz420
当然不一样了。
for是把iterator生成的值赋予给a,然后再使用a。
if没有赋值这一步
回复引用
#9楼 -07-02 16:23 boke_hh
@
Vamei
@Raining Days的第一个问题应该是3.0版本以下中出现的,3.0以上的版本中得到的值为-0.2。不需要考虑运算符前后元素的类型
回复引用
#10楼[楼主] -07-02 19:48 Vamei
@
boke_hh
我之前还没有考虑过版本的问题,不错!
回复引用
#11楼 -07-03 18:35 boke_hh
@
Vamei
博主,那个import怎么用啊,还有一些内置函数,查了下资料,还是不太明白
回复引用
#12楼 -07-04 10:29 jinghuali
@
boke_hh
import就是导入你需要的模块
回复引用
#13楼 -03-14 21:40 山之巅
我有两个问题,一个是上一篇的问题,一起问了吧
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语言一样支持(0)反对(0)
回复引用
#14楼[楼主] -03-14 22:52 Vamei
@
山之巅
第一个问题,可以加上绝对路径执行。
第二个问题,你试试int(1)/int(2)?
回复引用
#15楼 -03-17 20:25 山之巅
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,看来是不行了?支持(0)反对(0)
回复引用
#16楼[楼主] -03-17 20:29 Vamei
@
山之巅
1. 还真不知道能不能在Python内部运行Python脚本。应该有一些特殊方法可以做到,比如利用os包里的功能,运行外部命令?
2. 似乎彻底改掉了。我还在用2.7,所以无法复制你说的效果。
回复引用
#17楼 -03-27 14:25 Triangle23
关于进制表示能否讲一下,如2**010=256,2**10=1024,谢谢支持(0)反对(0)/face/u300489.jpg?id=14181149
回复引用
#18楼 -08-08 17:43 东篱雪
@
Triangle23
1、中的 010表示的是八进制,实际就是 010(八进制)= 18^1 + 08^0 = 8(十进制);
2、210中的10就是十进制当中的10;
3、所以:
= 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就是用十六进制表示的。
回复引用
#19楼 -09-21 11:27 vagabond1132
@
Raining Days
应该是 -1/5.0
因为 默认为int 而不是float输出
回复引用
#20楼 -09-25 20:18 小驰子
15楼兄弟说的第一个问题,把Python安装路径放到环境变量里应该就可以和在shell里一样直接输入.py文件支持(0)反对(0)
回复引用
#21楼 -01-12 21:51 oblivion
b type int
为什么b=1/5 输出0
而 b=-1/5 输出-1支持(0)反对(0)
回复引用
#22楼 -05-30 17:01 迷途ing
b = 1/5 输出0 都是int型且是正数
b = -1/5 输出 -1 python带有负数除法是按距离来做除法运算也就-1 到5的距离是66/5 = 1 然后在加上符号-
这一点可验证?
所以在取模运算时商的结果会影响取模结果,c/c++ java 是求余支持(1)反对(1)/face/763804/0530161809.png
回复引用
#23楼 -10-05 10:32 苏生不惑
@
oblivion
整数相除返回的是商
回复引用
#24楼 -01-22 16:55 yeayee
第3课已巩固支持(0)反对(0)/face/816924/0922082617.png
回复引用
#25楼 -06-11 16:57 两只蜗牛
@
迷途ing
博主,我感觉 -1 到 5的距离是55/5 = 1 然后在加上符号-
0 到 5的距离是44/5 = 0 ,不知道我说的对不对,刚看你博客学python
回复引用
#26楼 -10-08 16:33 dao_lee
print(type(a))时,python2.x显示<type 'int'>,python3.x显示<class 'int'>。支持(0)反对(0)/face/632374/0511132915.png
回复引用
#27楼3993866/6/8 10:28:04 -06-08 10:28 suyuloying
>>> a = 3 - 2j
>>> b = 2 + 1j
>>> a + b
(5-1j)
楼主 您好 请问下怎么查到复数是j而不是数学表达式中的i支持(0)反对(0)
如果觉得《python为什么虚部是j不是i_Python基础02 基本数据类型》对你有帮助,请点赞、收藏,并留下你的观点哦!