【Python学习笔记】Python数据类型和变量

【根据廖雪峰官方网站Python教程整理】


一、数据类型

计算机:可以做数学计算的计算机器。能处理数值、文本、图像、音频、视频、网页等各种各样的数据,不同的数据需要定义不同的数据类型,在python中能够直接处理的数据类型主要有以下几种:

1、整数

Python可以处理任意大小的整数,包括负整数,在程序中的表示方法和数学上的写法是一样的,如1-110等。

计算机使用二进制表示,有时用十六进制表示整数比较方便,十六进制用0x前缀和0-9a-f表示,如0xff00.

2、浮点数

小数,之所以成为浮点数是因为用科学计数法表示时,一个浮点数的小数点位置是可变的,如1.23*10^912.3*10^8是完全相等的。

浮点数可以用数学写法,如1.233.14等,但对于很大或者很小的浮点数,就必须用科学计数法,把10e代替,1.23*10^9即用1.23e9.

整数和浮点数在计算机内部存储的方式是不同,整数运算永远是精确的,而浮点数运算则可能有会有四舍五入的误差。

3、字符串

是以单双引号括起来的任意文本,单双引号本身只是一种表达方式,不是字符串的一部分,因此’abc’只有3个字符。如果’本身也是一个字符,那就用“”括起来,比如”I’吗OK”,6个字符。

如果字符串内部既包含’又包含”怎么办?可以用转移字符\来表示,比如:

转义字符可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\\表示的字符就是\,可以在python的交互命令行用print()打印字符串看看。

如果字符串里面有很多字符都要转义,就需要价很多的\,为了简化。Python还允许用r’’表示‘’内部的字符串默认不转义。表示这是一个 raw 字符串,里面的字符就不需要转义了。但是r'...'表示法不能表示多行字符串,也不能表示包含'和 "的字符串。


如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用’’’...’’’的格式表示多行内容:
'''Line 1
Line 2
Line 3'''
上面这个字符串的表示方法和下面的是完全一样的:
'Line 1\nLine 2\nLine 3'

还可以在多行字符串前面添加 r ,把这个多行字符串也变成一个raw字符串:
r'''Python is created by "Guido".
It is free and easy to learn.
Let's start learn Python in imooc!'''

4、布尔值

和布尔代数的表示为完全一致,一个布尔值只有TrueFalse两种值,注意大小写,也可以通过布尔值计算出来:

布尔值可以用andornot运算

and运算是与运算,只有所有都为Trueand运算结果才是True

or是或运算,只要其中一个为True,结果就是True

not非运算,单目运算符,把True变成FalseFalse变成True

 

布尔值经常用在条件判断中,如

if age >= 18:

    print('adult')

else:

    print('teenager')

 

5、空值

None,不能理解为0,因为0是有意义的,而None没有。

 

6、此外,python还提供了列表、字典等多种数据类型,还允许创建自定义数据类型。

 

二、变量

1、变量的概念基本上和代数的方程变量是一直的,只是在计算机程序中,变量不仅可以是数字,还可以是任意数类型。

2、变量在程序中就是用一个变量名表示了, 变量名必须是大小写英文、数字和下划线的组合,且不能用数字开头,如:

a = 1,变量a是一个整数

t_007 = 'T007'变量t_007是一个字符串

Answer = True变量Answer是一个布尔值True

3、在python中等号=是赋值语句,可以把任意的数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量,例如:

a = 123 # a是整数

print(a)

a = 'ABC' # a变为字符串

print(a)

这种变量本身类型不固定的语言成为动态语言,与之对应的是静态语言。静态语言在定义变量时必须制定变量的类型,如果赋值的时候类型不匹配,就会报错。java是静态语言。

动态语言更灵活。

 

三、常量

1、所谓的常量就是不能变的变量,比如数字常数。Python中通常用全部大写的变量名表示常量。如PI=3.1415。但事实上PI仍是一个变量,python没有任何机制保证PI不会被改变。

 

四、整数的除法为什么也是精确的?

Python中有两种除法

1/除法计算结果是浮点数,即使是两个整数恰好整除,结果也是浮点数

>>> 9 / 3

3.0

2//除法成为地板法,两个整数的除法仍为整数

>>> 10 // 3

3

3、因为//除法只取结果的整数部分,所以Python还提供一个余数的运算,可以得到两个整数相除的余数

>>> 10 % 3

1

无论整数做//还是取余数,结果永远是整数,所以,整数运算结果永远是精确的。

 



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值