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 模块

import sys print('================Python import mode=========================='); print ('命令行参数为:') for i in sys.argv: print (i) print ('\n python 路径为',sys.path)

导入 sys 模块的 argv,path 成员

from sys import argv,path # 导入特定的成员 print('================python from import===================================') print('path:',path) # 因为已经导入path成员,所以此处引用时不需要加sys.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'>
>>>

 

 

 

 

 

 








 

posted on 2017-10-22 15:20  尴尬而不失礼貌的微笑  阅读(326)  评论(0编辑  收藏  举报