数值
在Python中数值分为了三种:整数、浮点数(小数)、复数
整数:
在Python中所有整数都是int类型。
Python的整数大小没有限制,可以是一个无限大的整数。内存不会溢出。
如果数字的长度过大,可以使用下划线作为分隔符。
如c=123_234_234 相当于c=123324234
十进制的数字不能以0开头。
其他进制:打印时一定以十进制形式显示。
二进制 0b开头
八进制 0o开头
十六进制 0x开头 通过运算符对数字进行运算,并且可以保证整数运算的精确。
浮点数
小数,浮点数,在Python中所有小数都是float类型。
对浮点数进行运算后,可能会得到一个不精确的结果。(进制限制)
字符串
字符串用来表示一段文本信息,字符串是程序中使用的最多的数据类型。
在Python中字符串需要用引号引起来。 如“hello”
引号可以是双引号,也可以是单引号。但是注意不要混用。
相同的引号间不能嵌套。双引号间不能有双引号。单引间不能有单引。
单引号和双引号不能跨行使用。需要跨行用\作为结尾。跨行不保留格式。
![使用\进行跨河](https://img-blog.csdnimg.cn/20190722101248517.png)
**长字符串**
长字符串使用三重引号来表示长字符串。三个单引或三个双引号。
三重引号可以换行,并且会保留字符串中的格式。
![三重引号](https://img-blog.csdnimg.cn/20190722101444825.png)
**转义字符**
可以使用\作为转义字符。通过转义字符,可以在字符串中使用一些特殊的内容。
例子:
\' 表示'
\" 表示 ”
\t 表示制表符
\n表示换行
\\表示\
\uxxxx 表示Unicode 编码 如s=‘\u0040’
格式化字符串
字符串之间可进行加法运算:
a='abc'+'hahah'
如果将两个字符串进行相加,则会自动将两个字符串拼接为一个。
字符串只能和字符串进行拼接。不能和其他类型的数据进行运算。
方法1:利用print 函数可以用两个参数的性质来格式化:
print(‘a = ’,a)
方法2:使用占位符:在创建字符串时,可以在字符串中指定占位符。
%s 在字符串中表示任意字符。
b='Hello %s' %'孙悟空' %s表示填充 后一个%后跟一个文本表示填充内容
b = 'hello %s 你好 %s’%('Tom' , '孙悟空')
%f 浮点数占位符
%d 整数占位符
print('a = %s '%a)
方法3:格式化字符串. 可以通过在字符串前添加一个f来创建格式化字符串.
在格式化字符串中可以直接嵌入变量.
如 print ( f 'a = {a} ' )
如:
b = "孙悟空"
print("欢迎%s光临"%b)
print("欢迎",b,'光临')
print(f"欢迎{b}光临")
字符串的复制(将字符串和数字相乘)
如果字符串与数字X相乘,解释器会将字符串复制x遍.
如 a = abc
a = a*2
print(a)
会得到 abcabc
布尔值与空值
布尔值: boolean or bool
布尔值主要用来做逻辑判断.
布尔值: True 和 False
布尔值实际上也属于整型, True 相当于1 False相当于0
空值: None
None专门用来表示不存在.
类型检查
type()函数可以检查类型.
返回值是所检查变量的类型.
对象
-Python是一门面向对象的语言.
-一切皆对象
-程序运行中,所有数据都是存储到内存中再运行的.
-对象就是内存中专门用来存储指定数据的一块区域.
-对象实际上就是一个容器,专门用来存储数据.
数值 字符串 布尔值 None都是对象
对象的结构
-每个对象中都要保存三种数据
- id (标识)
- id用来表示对象的唯一性,每一个对象都有唯一的id.
- 可以通过id()函数来查看对象的id
- id是由解析器生成的,在CPython中,id就是对象的内存地址.
- 对象一旦创建,id就不会再改变.
- type(类型)
- 类型用来标识当前对象所属的类型.
- int str float bool等
- 类型决定了对象有哪些功能.
- Python是一门强类型的语言,对象一旦创建类型便不能改变.
- type可以通过type()函数查看.
- value(值)
- 值就是对象中存储的具体的数值.
- 对于有些对象,值是可变的.
- 对象分为两大类,可变对象 不可变对象.
可变对象的值可以改变
不可变对象的值不可以改变.
变量和对象
以a = 3为例:
对象并没有直接存储到变量中,在Python中变量更像是给对象起了一个别名.
变量中存储的不是对象的值,而是对象的id,即内存地址.
变量中保存的对象,只有在重新赋值时才会重新改变.
a = 10
b = a
a = 20
修改后 a = 20 b仍为10
变量与变量之间是相互独立的,修改一个变量不会影响另一个.
类型转换
- 所谓的类型转换,便是将一个类型的对象转换为其他对象.
- 类型转换不是改变对象本身的类型,而是根据当前对象的值创建一个新的对象.
- 类型转换的四个函数:函数不会对原来的变量产生影响,他会将对象转换为指定类型作为返回值.
>int()
int()可以将其他对象转换为整型.
布尔值: True 1
False 0
浮点数: 直接取整,舍去小数点后的内容.
字符串: 合法的整数字符串,直接转换为对应的数字.
不合法的字符串,则报错.
对于其他不可转换为整型的对象,直接报错.valueerror
>float()
float()可以将其他对象转换为浮点数型
规则基本同int().
>str()
str()直接将内容转换str型.
>bool()
可以将对象转换为布尔值,任何对象都可以转为布尔值.
规则:
对于所有表示空性的对象都会转换为False. 如 0,’ ',None
其余为True.