目录

1.保留字与标识符

1.1.保留字

1.2·标识符

2·变量

3·基本数据类型

3.1·数字类型

3.1.1·整数

3.1.2·浮点数

3.1.3·复数

3.2·字符串类型

3.3·布尔类型

3.4·数据类型转换

常用类型转换函数


1.保留字与标识符

1.1.保留字

        保留字是Python语言中一些被赋予特定意义的单词。开发程序时,不可以吧这些保留字作为变量、函数、类、模块和其他对象名称来使用。

Python中的保留字

    and 

用于表达式运算,逻辑与操作

    as

用于类型转换

assert

断言,用于判断变量或条件表达式的值是否为真

break

中断循环语句的执行

class

用于定义类

continue

继续执行下一次循环

def

用于定义函数或方法

del

删除变量或者序列的值

elif

条件语句 与if else 结合使用

else

条件语句 条件语句,与if,elif结合使用。也可以用于异常和循环使用

except

except 包括捕获异常后的操作代码,与try,finally结合使用exec用于执行python语句

for

循环语句

finally

用于异常语句,出现异常后,始终要执行finally包含的代码块。与try,except结合使用

from

用于导入模块,与import结合使用

global

定义全局变量

if

条件语句,与else,elif结合使用

import

用于导入模块,与from 结合使用

in

判断变量是否存在序列中

is

判断变量是否为某个类的实例

lambda

定义匿名函数

not

用于表达式运算,逻辑非操作

or

用于表达式运算,逻辑或操作

pass

空的类,函数,方法的占位符

print

打印语句

raise

异常抛出操作

return

用于从函数返回计算结果

try

包含可能会出现异常的语句,与except,finally结合使用

 

while

循环语句

with

简化Python的语句

yield

                                   用于从函数依次返回值

None

空值

True

布尔类型表示真,也表示数值1

False

布尔类型表示假,也表示数值0

在解释中输出保留字

import keyword
print(keyword.kwlist)

运行结果:

['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break',
 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 
'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal',
 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

1.2·标识符

        标识符 可以简单的理解为一个名字,它主要用来标识变量、函数、类、模块和其他对象名称。

规则如下:

                由字母、下划线“_”和数字组成。第一个字符不能时数字和特殊字符

                标识符中不能包含空格、@、%、和$等特殊字符

                标识符中的字母时严格区分大小写的,两个同样的单词,如果大小写格式不一样,代表的意义时完全不同的。

                Python中以下划线开头的标识符有特殊的意义,一般避免使用相似的标识符。

                 如:

                        1·以单划线开头的标识符(如 _width)表示不能直接访问的类属性,也不能通过

                        2·from  ***    import  ***   导入。

                        3· 以双下划线开头的标识符(_ _width)表示类的私有成员

                        4·以双下划线开头和结尾的是Python里专用的标识,如_ _init_ _() 表示构造函数

2·变量

        在Python中,变量严格意义上应该称为“名字”,也可以理解为标签。如果将值“我爱学“Python”赋值给python,python就是变量。在大多数编程语言中,都把这一过程称为“把值存储在变量中”,就是存储在计算机内存的某个位置

变量的定义与使用

在Python中,不需要先声明变量名及其类型,直接赋值即可创建各种类型的变量。但是变量的命名并不是任意的,应当遵循以下几条规则:

        1.变量名必须是一个有效的标识符

        2.变量名不能使用Python中的保留字

        3.慎用小写字母 l 和大写字母 O

        4.应当选择有意义的单词作为变量名

为变量赋值可以通过(=)来实现,语法格式如下:

变量名 = 变量值

例如:

number = 100              # 创建变量number,并赋值为100,该变量为数值类型

nickname = "碧海苍茫"      #  字符串类型的变量

在Python中可以通过 type() 函数获取变量的类型,例如:

>>> nickname = "碧海苍茫"    # 字符穿类型的变量
>>> print(type(nicknaem))   # 打印输出变量nickname的类型
<class 'str'>
>>> nickname = 100          # 整型变量
>>> print(type(nickname))
<class 'int'>

在Python中可以通过 id() 函数获取变量的内存地址,例如:

>>> no = number = 100
>>>pritn(id(no))
140728436073216
>>>print(id(number))
140728436073216

3·基本数据类型

3.1·数字类型

在Python语言中,数字类型主要包括整数、浮点数、复数。

3.1.1·整数

整数用来表示整数数值,既没有小数部分的数值。在Python中,整数包括正整数、负整数和0.

3.1.1.1·十进制整数

十进制整数的表现形式和我们平时用的数字是一样的,例如:

1
12
123
12345
123456
1234567
12345678
123456789
-123456
0

3.1.1.2·八进制整数

由0~7组成,进位规则为“逢八进一”,并且以0o/0O开头的数,如0o123(转为十进制数为83)-0o123(转换为十进制数为-83)

3.1.1.3·十六进制整数

由0~9、A~F组成,进位规则为“逢十六进一”,并且以0x/0X开头的数,如0x25(转换为十进制数为37)、0xb01e(转换为十进制数为45086)

3.1.1.4·二进制整数

 由0和1两位数组成,进位规则为“逢二进一”,并且以0b/0B开头的数如101(转换为十进制数为5)1010(转换为十进制数为10)

3.1.2·浮点数

浮点数由整数部分和小数部分组成,主要用于处理包括小数的数。例如:1.14/0.5、-1.732、3.1415926535897932384626。浮点数也可以用科学计算法表示例如:2.7e2、-3.14e5等

在使用浮点数计算时,可能出现小数位数不确定的情况,例如:

计算0.1+0.1得到我们想要的结果0.2,

而计算0.1+0.2时讲的到我们不想要的结果0.30000000000000004

>>> 0.1+0.1
0.2
>>> 0.1+0.2           
0.30000000000000004

实例:

height = 1.70                             # 保存身高的变量,单位:米
print("您的身高:" + str(height))
weight = 48.5                             # 保存体重的变量,单位:千克
print("您的体重:" + str(weight))
bmi=weight/(height*height)                # 用于计算BMI指数,公式为“体重/身高的平方”
print("您的BMI指数为:"+str(bmi))          # 输出BMI指数 str()函数用于将整数类型转换为字符串类型
# 判断身材是否合理
if bmi<18.5:                              # 判断语句
    print("您的体重过轻 ~@_@~")
if bmi>=18.5 and bmi<24.9:
    print("正常范围,注意保持 (-_-)")
if bmi>=24.9 and bmi<29.9:
    print("您的体重过重 ~@_@~")
if bmi>=29.9:
    print("肥胖 ^@_@^")

3.1.3·复数

Python中的复数与数学中的复数的形式完全一致,都是由实部和虚部组成,并且使用 j或J 表示虚部,表示方法为实部和虚部用 + 连接。例如一个复数实部为3.14,虚部为12.5j,则这个复数为 3.14+12.5j

3.2·字符串类型

字符串就是连续的字符序列,可以是计算机能表示的一切字符的集合。在Python中字符串属于不可变序列,通常使用英文单引号 ' '、英文双引号 " "、英文三引号 ''' '''  、""" """,括起来。其中单引号和双引号中的字符必须在一行上,而三引号内的字符可以分布在多行上(输出是也是多行输出)。

例如:

title = '我喜欢的名言警句'
mot_cn = "命运给与我们的不是失望之酒,而是失望之杯"   # 单行和双行必须在同行上
mot_en = '''Our destiny offers not zhe cup of despair,
but the chance of opportunity.'''
print(title)
print(mot_cn)
print(mot_en)

运行结果:

我喜欢的名言警句
命运给与我们的不是失望之酒,而是失望之杯
Our destiny offers not zhe cup of despair,
but the chance of opportunity.

实例:

print('''
                       ▶  学编程,你不是一个人在战斗~~
                       |                   
                __\--__|_ 
II=======OOOOO[/ ★101___|           
          _____\______|/-----. 
        /___mingrisoft.com___|              
         \◎◎◎◎◎◎◎◎⊙/ 
           ~~~~~~~~~~~~~~~~
''')

转义符

Python中的字符串还支持转义字符,所谓的转义字符是指使用反斜杠 “ \ ” 对一些特殊的字符进行转义(就是将特殊的字符转为字符串)

常用的转义符

\

续行符

\n

换行符

\0


\t

水平制表符,

跳到下一个制表位

(一个 \t 一个tab键)

\"

双引号

\'

单引号

\\

一个反斜杠

\f

换页

\0dd

八进制数

dd代表八进制整数(对应的ASCII编码中字符对应的八进制数)

如  \12 代表换行

\xhh

十六进制数

hh代表十六进制整数(对应的ASCII编码中字符对应的八进制数)

如  \x0a 代表换行

在字符串的定界符引前的前面加上字母 r 或 R ,那么该字符串将原样输出,字符串中的转义符将失效。

例如:

>>> print("失望之酒\x0a机会之杯")
失望之酒
机会之杯
>>> print(r"失望之酒\x0a机会之杯")
失望之酒\x0a机会之杯

3.3·布尔类型

        布尔类型主要用来表示真或假的值。在Python中,标识符True和False被解释为布尔值。另外Python中的布尔值可以转化 为数值,其中True表示 1 ,False表示 0 。

        Python中的布尔类型的只可以进行数值运算,例如“False+1 ” 的结果为1,但是不建议对布尔类型的只进行数值运算。 

        在Python中,所有的对象都可以进行真值测试。其中只有下面的几种情况得到的值为假。其他对象在 if 或者 while 语句中都表现为真。

        1.False 或 None

        2·数值中的0,包括0、0.0、虚数0.

        3·空序列,包括字符串,空元祖、空列表、空字典

        4.自定义对象的实例,该对象的_ _bool_ _ 方法返回False,或_ _len_ _ 返回0

3.4·数据类型转换

是把一种数据类型的变量转换成另外一种数据类型。

常用类型转换函数

函数

作用

int(x)

将对象 x 转换为十进制整数类型

float(x)

将对象 x 转换为浮点数(有小数的十进制数)类型

complex(x,y)

创建一个复数

str(x)

将 x 对象转换为字符串类型

repr(x)

将 x 对象转换为表达式字符串

eval(str)

计算在字符串对象 str 中的有效表达式,并返回一个对象

chr(x)

将整数(十进制) x 转换为一个字符(对应的Unicode编码字符)

ord(x)

将字符 x 转换为Unicode编码对应的字符(x为一个字符串类型而且只能是一个字符)

bin(x)

将整数 x 转换为二进制字符串

hex(x)

将整数 x 转换为十六进制字符串

oct(x)

将整数 x 转换为八进制字符串

eval()函数:

eval(expression,globals,locals)

expression:字符串类型表达式

globals:可选参数,变量作用域,全局命名空间,如果指定了globals参数,则globals参数必                  须是个字典对象

locals:可选参数,变量作用域,局部命名空间,如果指定了locals参数,则locals参数可以是任何映射对象(字典对象)

lst = "[0,1,2,3,4,5]"
tup = "('a','b','c','d','e')"
dic = "{'a':1,'b':2,'c':3,'d':4,'e':5}"
se = "{11,22,33,44,55}"
ints = '100'
print(type(lst),type(tup),type(dic),type(se),type(ints))
a = eval(lst)   # 转为列表
b = eval(tup)   # 转为元组
c = eval(dic)   # 转为字典
d = eval(se)    # 转为集合
e = eval(ints)  # 转为整数类型
print(a,'类型是:',type(a))
print(b,'类型是:',type(b))
print(c,'类型是:',type(c))
print(d,'类型是:',type(d))
print(e,'类型是:',type(e))
print(eval("100+50+10"))   # 返回计算结果160


dic = {'a':10,'b':20,'c':'a+b'}
dic['c']= eval(dic['c'],dic.copy())
print(dic)

运行结果:

<class 'str'> <class 'str'> <class 'str'> <class 'str'> <class 'str'>
[0, 1, 2, 3, 4, 5] 类型是: <class 'list'>
('a', 'b', 'c', 'd', 'e') 类型是: <class 'tuple'>
{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5} 类型是: <class 'dict'>
{33, 11, 44, 22, 55} 类型是: <class 'set'>
100 类型是: <class 'int'>
160
{'a': 10, 'b': 20, 'c': 30}