第二章
保留字和标识符
保留字
即特殊意义的单词,这对于由计算机基础的厚米来说已经老生常谈,说一点就是保留字严格区分大小写!!
使用pycharm输出
'coding=utf-8' import keyword print(keyword.kwlist)
不加'coding=utf-8'会报错
标识符
也即变量的名字,用于给变量、函数、类、模块等命名
说到底通俗的来说,保留字就是python规定的固定用途的单词,不可用做标识符;
以下是不同命名的规范:
这部分需要稍微记忆,因为是可以指导代码编写的依据;
变量与常量
变量
是我们赋予的,一般都指向内存中的一个值;
python是动态语言,所以变量的类型是根据所赋值类型改变的,上例赋值时8是一个整数,此时luck_number就是整数型,若把指向的8换成一个字符串类型的'文明',luck_number就会变成字符串型;在python中允许多个变量指向同一个值,即值和变量是一对多关系;
输入:
lucky_numbers = 8 GA_name='文明' print('类型',type(lucky_numbers),type(GA_name))
输出:
类型 <class 'int'> <class 'str'>
常量
常量在程序运行中不可改变,且全部由大写字母和下划线组成;和变量区别就是一个大写一个小写,别的基本一样;
数值类型
整数
这个学过数据结构的厚米应该很清楚,就不过多解释了。知道python中给表变量赋值可以使用不同的整数类型即可;
浮点数
需要注意,带有科学计数法的数据用type()查看也是浮点型;
对于浮点数计算产生不确定尾数问题,我们可以用函数round来解决:
复数
由整数部分+虚数部分组成
字符串类型
字符串也叫连续字符序列,可以表示计算机能识别的一切字符;整型浮点型都是不可变数据类型;只要引号引起来就是字符串;
三个双引号或者三引号可以使输出换行;
print自带换行,如果使用两个print分别输出是自动换行的,也可以使用print('北\n京')也可以实现换行;也可以添加R使转义字符失效,print('R北\n京'),转义字符就被当成普通的字符输出,输出结果就是:北\n京;
python中一个制表位包含八个字符,水平制表位可以理解成一串字符结尾加\t,如果\t前不够八个字符,水平制表位就用空格将剩下的字符为填满:
print('我喜欢\t文明6') print('我真的非常喜欢\t文明6')
可以看出空格数是不一样的;
字符串索引
字符串从左到右下标从0开始递增,从右到左检索下标从-1开始递减;
切片,形式是【N:M】,表示下标从N到M不包括M。
示例:
布尔类型
注意,空字符串的布尔值是False,所有非空字符串的布尔值都是True;
数据类型转换
分为隐式转换和显示转换;隐式转换就是布尔类型的值和它类型的值进行运算,结果会默认转换为其他类型;显示转换使用下例函数;
# 复数类型转换为浮点数类型(保留实数部分)
num_complex = 2 + 3j
float_result = float(num_complex.real)
print(float_result) # 2.0
print(type(float_result)) # <class 'float'>
# 字符串类型转换为浮点数类型
str_value = "3.14"
float_result = float(str_value)
print(float_result) # 3.14
print(type(float_result)) # <class 'float'>
注:
为 True 的数据:非零整数和非零浮点数、非空的字符串、列表、元组、字典和集合、非空的迭代对象。
为 False 的数据:数字类型中的零值,包括0和0.0、空字符串、列表、元组、字典和集合、空的迭代对象、None类型。
eval函数
eval()函数用来执行一个字符串表达式,并返回表达式的值。
eval是Python的一个内置函数,这个函数的作用是,返回传入字符串的表达式的结果。想象一下变量赋值时,将等号右边的表达式写成字符串的格式,将这个字符串作为eval的参数,eval的返回值就是这个表达式的结果。
如下例,使用eval输出'hello',本质上是输出不带单引号的hello,即字符串文明6欢迎你,但是直接使用eval('文明6欢迎你')就是错误的因为使用eval后输出的文明6欢迎你是个未被定义的变量; hello='文明6欢迎你' print(eval('hello')) print(eval('文明6欢迎你'))#出错
算术运算符
比较运算符返回值类型是布尔型;
逻辑运算符,即and(与,全T为T)、or(或,全F为F)、not(非,同F异T)
之外还有异或和其他运算,此处不再详解;
本章练习
1.根据输入的四位数分别输出他的每个位上的数字
2.根据父母身高,转换计算儿子身高(父+母*0.54)
fa=eval(input('父亲身高')) mo=eval(input('母亲身高')) print('儿子身高是',(fa+mo)*0.54)