Python之变量和数据类型

定义变量

Python程序中,变量是用一个变量名表示,变量名必须是大小写英文,数字和下划线(_)的组合,且不能用数字开头。

在Python中,等号“=”是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量。这种变量本身类型不固定的语言称为动态语言,与之对应的是静态语言。

静态语言在定义变量时必须指定变量类型,如果赋值的时候变量不匹配就会报错,例如Java就是静态语言。

例如:int a =123;//a是整数类型变量

           a = “mooc”;//错误,不能把字符串赋值给整型变量

定义字符串

字符串可以用“ ”或者' ' 表示

当语句中含有“ ”时可用' '表示,例如:'learn “Python”in mooc'

当语句中含有' '时可用“ ”表示,;例如:”I'm ok . ”

如果语句中既有“ ”又有' ',那么我们需要对字符串的某些特殊字符进行'转义',python字符串用 " \ "转义。

要想表示字符串Bob said“I'm ok”就需要用到\转义

由于“”和''引起歧义,我们在它们前面插入一个\表示这是一个普通字符,不代表字符串的起始,即可表示为

'Bob said \"I\'m ok\".'

转义字符不计入字符串的内容中

常见的转义字符还有:\n  表示换行

                                  \t   表示一个制表符

                                 \\    表示\字符本身

Python中raw字符串与多行字符串

如果一个字符串中包含很多需要转义的字符,对每个字符进行转义就会很麻烦。为了避免这种情况,我们可以在字符串前面加一个r,表示这是一个raw字符串,里面的字符就不需要转义了。例如:r'\(~_~)/  \(~_~)/'

但是r'...'表示法不能表示多行字符串,也不能表示包含“”和''的字符串。

如果要表示多行字符串可以用'''....'''表示,例如:

'''Line 1

Line 2

Line 3'''

这个字符串和'Line 1\nLine 2\nLine 3'是一个输出结果

也可以在多行字符串前面加r,这样一个多行字符串也就变成了raw字符串。

Python中Unicode字符串

print u' 中文'

多行:print u'''中文

'''

raw加多行:print ur''' 

'''

#-*- coding: utf-8 -*-

Python中整数和浮点数

Python支持对整数和浮点数直接进行四则混合运算,运算规则和数学上的四则运算规则完全一致。

使用括号可以提升优先级,这和数学运算完全一致,注意只能使用小括号,但小括号可以嵌套很多层。

和数学运算不同的是,Python的整数运算结果仍是整数,浮点数运算结果仍是浮点数。但是浮点数和整数混合运算结果就变为了浮点数。

整数的除法运算除不尽的时候,结果是整数,余数被直接扔掉。如:11/4 ==2

Python有取余运算。如:11%4 ==3

如果计算11/4的准确结果,按照“整数和浮点数混合运算的结果是浮点数”的法则,把其中一个数变为浮点数再运算就可以了。

11.0/4 ==2.75  或 11/4.0 ==2.75

Python中布尔类型

Python支持布尔类型的数据,布尔类型只有True和False两种输出值,但是布尔类型有以下几种运算:

与运算:只有两个布尔值都为True时,计算结果才是True

True and Ture == True

True and False == False

False and True == False

False and False == False

或运算:只要有一个布尔值为True,计算结果就是True

True or True == True

True or False == True

False or True == True

False or False == False

非运算:把True变为False,或者把False变为True

not True == False

not False == True

布尔运算在计算机中用来做条件判断,根据计算结果为True或False,计算机可以自动执行不同的后续代码。

在Python中,布尔类型还可以与其他类型做and,or,not运算,如:

a == True

print a and 'a = T' or 'a = F'

计算结果不是布尔类型,而是字符串 'a =T’

因为Python把0、空字符' ' 和None看做False其他数值和非空字符串看做True,所以

True and 'a=T' 计算结果是'a = T'

继续计算 'a = T' or 'a =F' 计算结果还是'a =T'

要解释上述结果,又设计到and和or运算的一条重要法则就是:短路计算

1.在计算 a and b时,如果a是False,则根据与运算法则,整个结果必定为False,因此返回a;如果a是True,则整个计算结果必定取决于b,因此返回b。

2.在计算a or b时,如果a是True,则根据或运算法则,真个计算结果必定为True,因此返回a;如果a是False,则整个计算结果必定取决于b,因此返回b。


猜你喜欢

转载自blog.csdn.net/qq_42122898/article/details/81032646
今日推荐