最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),0 - 255被用来表示大小写英文字母、数字和一些符号,这种编码方式被称为ASCII编码
Unicode通常用两个字节表示一个字符,原有的英文编码从单字节变成双字节,只需要把高字节全部填为0就可以
如果字符串既包含'又包含"怎么办?
这个时候,就需要对字符串中的某些特殊字符进行“转义”,Python字符串用\进行转义。
要表示字符串Bob said "I'm OK"
由于'和"会引起歧义,因此,我们在它前面插入一个\表示这是一个普通字符,不代表字符串的起始,因此,这个字符串又可以表示为
'Bob said \"I\'m OK\".'
注意:转义字符 \不计入字符串的内容中。
常用的转义字符还有:
\n表示换行
\t 表示一个制表符
\\表示 \ 字符本身
Python除了普通除法以外,还有一个特殊的除法被称为地板除,对于地板除,得到的结果会忽略纯小数的部分,得到整数的部分,地板除使用//进行。
10//4 # ==> 2
10//2.5 # ==> 4.0
10//3 # ==> 3
在Python里面,一个变量可以先后存储多种不同类型的数据。
a = 1 # 这个时候a存储的是整数类型
print(a)
a = 'ABC' # 这个时候a存储的是字符串类型
print(a)
这是Python这类语言特有的特性,我们称之为动态语言,与之对应的是静态语言,Python、Javascript等等都是动态语言,Java、C、C++等等属于静态语言。
在Python中,布尔类型还可以与其他数据类型(字符串,数字等)做 and、or和not运算,请看下面的代码:
a = True
print(a and 0 or 99) # ==> 99
得到的计算结果不是布尔类型,而是数字99,这是为什么呢?
因为Python把0、空字符串和None看成False,其他数值和非空字符串都看成True,所以:
True and 0计算结果是0
继续计算0 or 99计算结果是 99
因此,结果是99。
需要注意的是,not计算的优先级是高于and和or的。
True and not False # ==> True
在上述布尔计算中,先计算not False = True,然后再计算True and True,因此得到True的结果。
0.1+0.2
为什么运算不等于0.3
Python基础数据类型:整数,浮点数,字符串,布尔值,空值。二进制0b ,十六进制0x ,浮点数即小数 ,10用e替代字符串对应生活中的就是非数字类型的内容,比如一个句子,一段话一个布尔值只有True、False两种值,要么是True,要么是False布尔值可以用and、or和not运算(注意and,or,not都是Python语言本身的关键字)。空值是Python里一个特殊的值,用None表示。注意,None和0是不一样的,None不能理解为0
r'...'表示一行字符
(r)'''...'''表示多行字符
地板除
Python除了普通除法以外,还有一个特殊的除法被称为地板除,对于地板除,得到的结果会忽略纯小数的部分,得到整数的部分,地板除使用//进行。
小数点位数
使用Python计算小数的时候,经常需要保留小数点后若干位,可以使用round()函数来处理,这里先了解round的调用方式,使用两个参数,第一个是需要保留小数点位数的数值,第二个是保留的位数。
num = 10 / 3
print(num) # ==> 3.3333333333333335
# 使用round保留两位小数
round(num, 2) # ==> 3.33
变量名由大小写英文字母、数字和下划线_组成
变量不能用数字开头
变量尽量不要和Python关键字重合(比如前面学习过的:and、or、not,否则可能导致Python原有关键字发挥不出作用)
isinstance()函数,可以判断参数类型,它接收两个参数,第一个是需要判断的参数,第二个是类型。
整数、浮点数可以直接进行四则运算。
# 加法 num1 = 10 num2 = 0.5 result = num1 + num2 print(result) # ==> 10.5 # 减法 result = num1 - num2 print(result) # ==> 9.5 # 乘法 result = num1 * num2 print(result) # ==> 5.0 # 除法 result = num1 / num2 print(result) # ==>20.0 整数和浮点数运算后 ,得到的结果不管小数点后是否有值,结果都变成浮点数了,这是合理的,浮点数可以表达整数的结果,但是整数不能表达浮点数的结果。
Python数字支持取模运算,使用百分号%
表示取模。
print(3 % 2) # ==> 1 print(33 % 10) # ==> 3 print(99 % 30) # ==> 9
恰当使用取模运算,可以判断一个数是否为偶数,当一个数对2取模结果为0时,则这个数为偶数,否则为奇数。
Python除了普通除法以外,还有一个特殊的除法被称为地板除
,对于地板除
,得到的结果会忽略纯小数的部分,得到整数的部分,地板除使用//
进行。
10//4 # ==> 2 10//2.5 # ==> 4.0 10//3 # ==> 3 需要保留小数点后若干位,可以使用round()函数来处理 使用两个参数,第一个是需要保留小数点位数的数值,第二个是保留的位数。
num = 10 / 3 print(num) # ==> 3.3333333333333335 # 使用round保留两位小数 round(num, 2) # ==> 3.33
不会报错的删除方法discard()
清楚所有元素的方法clear()
set提供方法判断两个set之间的关系,比如两个集合set,判断其中一个set是否为另外一个set的子集或者超集。
判断集合是否重复
set提供isdisjoint()方法,可以快速判断两个集合是否有重合,如果有重合,返回False,否则返回True。
删除set()中元素
remove()
remove的元素不在set中将会报错
set()的两种添加元素方式
①add()方法
只能添加一个元素
②update()方法
一次性给set添加多个元素
set和list的区别:
①set里面的元素是不允许重复,list里面可以包含相同的元素
②set里面的元素没有顺序
and、or、not运算规则
短路计算。
地板除(//),两数相除后,取整数,去掉小数点后的数据
读取dict中key所对应的value
①通过d[key]的形式,就可以得到对应的value
②把key当作参数传递给get方法,就可以获取对应的value,当key不存在时,也不会报错,而是返回None
dict保存映射
在定义里,我们使用花括号{}表示这是一个dict,然后key和value之间使用冒号:分割,并且每一组key:value的最后,以逗号,表示这一组的结束。
增加元素
一个长方形的长为3.14cm,宽为1.57cm,请计算这个长方形的面积,保留小数点后两位。
num1=3.14
num2=1.57
s=num1*num2
round(s,2)
在Python中,字典dict是一种内置数据结构。最全面的例子是电话簿
可以使用电话簿快速检索与给定名称(key)相关的信息(value)。
这一节作者写的不太明白,对于初学者。
我看别人是这么写的:字典是可变容器,这意味着他们的内容可以再创建后被修改。
如何创建字典:
#或者使用花括号{ }初始化
my_dict ={ }
my_dict ={'key1' : ‘value1’, 'key2' : 'value 2'}
如何访问字典中的值
value =my_dict[ 'key1]
tuple是不可变的,list是可变的,因此tuple可以作为dict的key,但是list不可以作为dict的key,否则将会报错。
感觉是饶舌
d.keys()是什么意思?
<span>返回d中所有的key</span><br>
尝试一个反例,看看可否按照计划输出
d = {
'Alice': 45,
'Bob': 60,
'Candy': 75,
'David': 86,
'Ellena': 49
}
name ='Mike'
if name in d.keys():
d.pop('Mike')
print(d)
else:
print('{} not in d'.format(name))
运行成功
Mike not in d
{}里面是一个动态的字符串,平时我们定义的字符串是固定的,但是要是字符串其中的某个字符串是变化的,这种方法是不错的idea。