目录
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}