初探Python3

查看数据的类型

  使用type(varName)或者type(value)来判断,返回类型。

>>> type(1)     	#整型
<class 'int'>   
>>> type(1.0) 		#浮点数
<class 'float'>
>>> type("hello")	#字符串
<class 'str'>
>>> type(6+4j)		#复数
<class 'complex'>
>>> type(["hello","world"])   	#数组
<class 'list'>
>>> type(False); type(True)  	#bool类型 True和False都要首字母大写
<class 'bool'>
<class 'bool'>

      

数值计算

  在python3中,需要注意“除号”的使用:

  1、单独的一个除号,表示的是除法,结果是一个浮点数;

  2、两个除号,表示的是除法取整(商)。即使被除数或者除数是float类型,两个除号都是表示求商。

在python2中,和在C语言一样,没有两个除号连用的语法,单个除号都表示除法取整(商)

python3中单个乘号表示进行乘法运算,两个乘号表示幂运算。

>>> 9 / 4
2.25
>>> 9 // 4
2
>>> 9 % 4
1
>>> 9 // 4.0
2.0
>>> 9 * 2
18
>>> 9 ** 2
81

  

数进制

  2进制:使用0b开头,使用bin(number)将其他进制的数转化为2进制数

  8进制:使用0o开头,使用oct(number)将其他进制的数转换为8进制数

  10进制,没有前缀标识,使用int(number)将其他进制的数转换为10进制数

  16进制:使用0x开头,使用hex(number)将其他进制的数转换为16进制数

>>> 0b100
4
>>> bin(4)
'0b100'
>>>
>>> 0o100
64
>>> oct(0b111)
'0o7'
>>>
>>> 0x100
256
>>> hex(256)
'0x100'
>>>
>>> 100
100
>>> int(0x100)
256

  注意,使用bin(),oct(),hex()将进制转换后,返回的结果是字符串类型;而int()转化后是整数类型

>>> type(hex(256))
<class 'str'>
>>> type(int(0x100))
<class 'int'>

  

字符串

  重点:字符串中有一个api叫做str(),所以,不要将保存字符串的变量声明为str,这样会覆盖掉内置的str(),导致内置的str()不能使用。

   一般的字符串使用单引号和双引号来括起来。

>>> print("Let's go")
Let's go
>>> print('Let\'s go')
Let's go

  字符串中使用反斜线来转移字符,比如\n、\t、\'、\"  等

  除了使用单引号和双引号来表示字符串,但有时候,我们需要在保存字符串的同时,也保存他的格式,比如换行不用\n,而是实实在在的在输入时就换行。那么可以使用三引号

>>> s = '''hello
... world
...     python
...         zen of python'''
>>> print(s)
hello
world
        python
            zen of python
>>> 
>>> s = """hello
... world
...     python
...         zen of python"""
>>> print(s)
hello
world
        python
            zen of python
>>> s
'hello\nworld\n\tpython\n\t    zen of python'
>>> s.title()
'Hello\nWorld\n\tPython\n\t    Zen Of Python'

 

 

  可以获取字符串的某个字符,但是不能只改变字符串的某个字符,可以改变字符串变量的值

>>> s = "abc"
>>> print(s[1])
b
>>> s[1] = 'x'  #不能改变单个字符
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 's' object does not support item assignment
>>>
>>> s = "xyz"  #可以修改字符串变量的值
>>> print(s)
>>> xyz

 

使用print()打印字符串的注意事项

  首先,单纯的使用print()来打印变量,那么就没有什么好讲究的,比如下面这样:

>>> print("abc")
abc
>>> print(True)
True
>>> print(3 + 5)
8
>>> print(1 + 3j)
(1+3j)
>>> print(["hello", "world"])
['hello', 'world']

  

  但是在打印字符串的时候,就需要注意的,因为字符串中可能有“转义字符”,如果单纯的使用print()打印的话,其中的转义字符就会被转移输出。

  如果想要打印\n,而不是被转移为换行输出,那么可以使用\\n来取消转移。

>>> print("Hello\tPython\nHello\tWorld")
Hello   Python
Hello   World
>>> print("Hello\\tPython\\nHello\\tWorld")
Hello\tPython\nHello\tWorld

  

  高级技巧:print(r"str"),打印的时候,并不会将字符串转义输出。

>>> print(r"Hello\tPython\nHello\tWorld")
Hello\tPython\nHello\tWorld

   

 

布尔类型与其他类型的转化

  对于数字来说,只有数字为0,或者0.0,转化为bool类型后,结果才是False;其他情况,比如说1,2,-1,0.1,转化为bool类型后,都为True。

  对于字符串来说,只有当字符串的长度为0时,转化为bool类型之后,结果是False;其他情况,比如一个内容全是空格的字符串,转化为bool类型后,结果是True。

  对于复数来说,只有当i和j的系数都为0时,转化为bool类型后,结果才是False;其他情况,都为True。

  对于列表来说,只有当列表中的元素数量为0的时候,转化为bool后,结果是False;其他情况,都为True。

  None也是False。

>>> bool(0)
False
>>> bool(0.0)
False
>>> bool(1)
True
>>> bool(2)
True
>>> bool(-1)
True
>>> bool(0.1)
True
>>> bool("")
False
>>> bool(" ")
True
>>> bool(0+1j)
True
>>> bool(0+0j)
False
>>> bool([])
False
>>> bool([0])
True
>>> bool(None)
False

  

posted @ 2018-05-19 00:22  寻觅beyond  阅读(181)  评论(0编辑  收藏  举报
返回顶部