python语言的赋值语句可以改变变量的类型吗_python 数据类型和变量

1 数据类型

整数 正负整数,也可以用十六进制表示整数,注意,没有大小限制

浮点数  小数,可以用正常的数字写法1.23  但1.23x10^9>>>1.23e9或12.3e8 较大的数字需要使用科学计数法。注意,也没有大小限制,但超出一定范围就会被表示成无限大inf

整数的运算是相对精确的,包括除法(会进行四舍五入但因即保留位数较多才会显得相对精确),浮点数的运算则有可能四舍五入造成误差

详细分析除法为什么整数是精确地浮点数不是:

Python中有两种除法:/ 和 //

/ 的结果是浮点数,无论是整数进行运算还是浮点数,其结果都是浮点数,即便整除也是浮点数结果

// 外号地板除(2.2版本后加入),结果永远是整数,即使除不尽也是整数,即取整运算。相应的,python也有一个取余运算: %  取得的余数依然是整数

内建函数:divmod ( )  返回的结果是(a//b , a%b)即返回整数部分和小数部分

字符串 单引号或双引号括起来的文本,如果字符串既有' 又有 " 需要进行转义 \     "I \'m \"OK\" !">>>>I'm "OK" \

特殊的转义 \n \t  \\  若要保证字符串内部的特殊字符(如\t)不被转义,则需要使用 r ' ' 表示  如: print (r ' \ t ' )>>>\t  print (r '\t'  '\t is \t'  )>>>\t is

多行换行:频繁使用\n并不合适,提供以 ' ' ' 开头作为即将连续换行的起始标志,' ' ' 结束作为即将结束换行的结束标志。一般来说,在控制台操作时只需要提前写好' ' ' 按下回车就会自动换行并在开头补充  . . .,但在编辑文本中这么写并不可行,不需要手动补充. . . ,直接在' ' ' 文本后Enter换行即可实现效果

布尔值  一个布尔值只有true和false两种,需要注意:python中的写法是 True 和 False 必须首字母大写。用法同java。

需要额外注意的是,布尔值提供and  or  not运算

True and True >>> True

True and False >>> False

True or False >>> True

not True >>> False

空值  用None表示而不是Null  只是个空值,并非0

列表  字典 等其余数据类型后续详谈,还允许自定义数据类型

2 变量

变量不仅是数字,还可以为任意数据类型

变量名必须是大小写英文 数字 _ 的组合且不能用数字开头

等号 = 是赋值语句,python可以跨类型进行赋值

(图1的写法只是为了贴图方便,这样写会报错的,python不使用 { } 表示代码结构,所以换行很重要,后续深入学习后回头重写)

注解:python变量本身类型不固定,所以类似于这种变量类型不固定的语言都被称为动态语言(其他已知:javascript),相对的是静态语言,静态语言在赋值时类型必须匹配,例如 Java

x=x+2是赋值语句,将原有的x值+2后赋值给新的x。

变量在内存中的表示:a='ABC'

python解释器做了两件事: 1 内存中创建一个 ' ABC ' 字符串  2 内存中创建一个名为 ' a ' 的变量,并将之指向 ' ABC '

变量之间的赋值其实就是改变变量的指向位置,即1变量对1物理地址,与其变量名本身无关

常亮:本身不会改变的变量。

你可能感兴趣的:(python语言的赋值语句可以改变变量的类型吗_python 数据类型和变量)