python数据类型(一)
1、数据类型
python中数有四种类型:整数、长整数、浮点数和复数。
- 整数, 如 1
- 长整数 是比较大的整数
- 浮点数 如 1.23、3E-2
- 复数 如 1 + 2j、 1.1 + 2.2j
2. 自然字符串, 通过在字符串前加r或R。 如 r"this is a line with \n" 则\n会显示,并不是换行。
注意:如果前面没加r或R,则\n表示换行,如果有r或R,则会正常打印\n
this is a line with \n
>>> a = 'this is boyfriend \n this is me'
>>> print(a)
this is boyfriend
this is me
>>> a = r'this is boyfriend \n this is me'
>>> print (a)
this is boyfriend \n this is me
>>>
3.空行
函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。
空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。
记住:空行也是程序代码的一部分。
4.Print 输出
print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end="":或end=''
>>> x = 'a' ;y = 'b'
>>> print(x)
a
>>> print(y)
b
>>> print(x,end = '');print(y,end = '')
ab
>>> print(x);print(y)
a
b
>>>
5.import 与 from...import
在 python 用 import 或者 from...import 来导入相应的模块。
将整个模块(somemodule)导入,格式为: import somemodule
从某个模块中导入某个函数,格式为: from somemodule import somefunction
从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc
将某个模块中的全部函数导入,格式为: from somemodule import *
导入 sys 模块
导入 sys 模块的 argv,path 成员
6.赋值
多个变量赋值
Python允许你同时为多个变量赋值。例如:
a = b = c = 1
以上实例,创建一个整型对象,值为1,三个变量被分配到相同的内存空间上。
您也可以为多个对象指定多个变量。例如:
a, b, c = 1, 2, "runoob"
7.标准数据类型 ,判断其类型用type(a变量名)
>>> a = 111
>>> isinstance(a,int)
True
也可以使用isinstance(a,int)
Python3 中有六个标准的数据类型:
- Number(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- Sets(集合)
- Dictionary(字典)
A、Number(数字)
Python3 支持 int、float、bool、complex(复数)。
在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
像大多数语言一样,数值类型的赋值和计算都是很直观的。
内置的 type() 函数可以用来查询变量所指的对象类型。
>>> a, b, c, d = 20, 5.5, True, 4+3j >>> print(type(a), type(b), type(c), type(d)) <class 'int'> <class 'float'> <class 'bool'> <class 'complex'>
8.isinstance 和 type 的区别在于:
class A:
pass
class B(A):
pass
isinstance(A(), A) # returns True
type(A()) == A # returns True
isinstance(B(), A) # returns True
type(B()) == A # returns False
区别就是:
- type()不会认为子类是一种父类类型。
- isinstance()会认为子类是一种父类类型。
注意:在 Python2 中是没有布尔型的,它用数字 0 表示 False,用 1 表示 True。到 Python3 中,把 True 和 False 定义成关键字了,但它们的值还是 1 和 0,它们可以和数字相加。
注意:
- 1、Python可以同时为多个变量赋值,如a, b = 1, 2。
- 2、一个变量可以通过赋值指向不同类型的对象。
- 3、数值的除法(/)总是返回一个浮点数,要获取整数使用//操作符。 (如10 /5 = 2.0 10//5=2)
- 4、在混合计算时,Python会把整型转换成为浮点数。如(10/True=10.0)
B、字符串:
Python中的字符串用单引号(')或双引号(")括起来,同时使用反斜杠(\)转义特殊字符。
字符串的截取的语法格式如下:
变量[头下标:尾下标]
索引值以 0 为开始值,-1 为从末尾的开始位置。
加号 (+) 是字符串的连接符, 星号 (*) 表示复制当前字符串,紧跟的数字为复制的次数。实例如下:
str = 'Runoob' print (str) # 输出字符串print (str[0:-1]) # 输出第一个到倒数第二个的所有字符 (所有区间都是包含左边不包含右边的部分,半开半闭区间)print (str[0]) # 输出字符串第一个字符print (str[2:5]) # 输出从第三个开始到第五个的字符print (str[2:]) # 输出从第三个开始的后的所有字符print (str * 2) # 输出字符串两次print (str + "TEST") # 连接字符串执行以上程序会输出如下结果:
Runoob Runoo R noo noob RunoobRunoob RunoobTEST
Python 使用反斜杠(\)转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串:
如:>>> print('ru\noob')
ru
oob
>>> print(r'ru\noob')
ru\noob
>>>
另外,反斜杠(\)可以作为续行符,表示下一行是上一行的延续。也可以使用 """...""" 或者 '''...''' 跨越多行。
注意,Python 没有单独的字符类型,一个字符就是长度为1的字符串。
与 C 字符串不同的是,Python 字符串不能被改变。向一个索引位置赋值,比如word[0] = 'm'会导致错误。
注意:
- 1、反斜杠可以用来转义,使用r可以让反斜杠不发生转义。
- 2、字符串可以用+运算符连接在一起,用*运算符重复。
- 3、Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。
- 4、Python中的字符串不能改变。
>>> word = 'python'
>>> word[0]
'p'
>>> print(word[0])
p
>>> print(word[-1])
n
>>> print(word[-6])
p
总结:比如我们要获取一个字符串指定位置的字符,我们把他当做数组来操作,从左右到下标为word【0】~word[5],如果要反向来获取指定字符串的位置,则从-1开始算起,则word【-1】~word【-6】,特此注意
,还有使用word【0】 输出结果为 ' p' 使用print(word[0] )则输出 p ,也算是一种区别吧。实例如下:
>>> type(print(word[0]))
p
<class 'NoneType'>
>>> type(word[0])
<class 'str'>
>>>