【原创】Python初体验之基础篇(1)- 算术和变量
1 写在前面
python是一门动态语言,最早的版本产生于1991年,python是自由软件,完全开源,遵循GPL协议。相比其他脚本语言(如shell 等),python更强大,和C++以及java这些高级语言类似,python同样支持面向对象(类,多态),python编码却比以上的高级语言更加轻松容易,也更容易上手,python应用越来越广,现在主流的大数据技术,未来的机器学习和人工智能必然成为一个趋势,这些技术中都有python的存在,本人最近把python基础过了一遍,现在重新进行整理和总结。
2 概述
Python程序文件以.py结尾,python源代码需要经过编译后才可以运行,编译后生成目标代码,以.pyc结尾的文件。
Python由三个部分组成:解释器、编译器和虚拟机
解释器:运行语句
编译器:将py文件编译为pyc文件
虚拟机:运行pyc文件
3 算术及变量
Python的数据类型:字符串,整型和浮点型,其中字符串和整型是没有长度要求的,而在python3.5中浮点型则保留小数点后16位,python2中保留小数点后17位。本文档所有的总结都基于python3.5。
3.1 整数
python中整数就是C和JAVA中的整型数(int和long类型数据),整型数的运算操,比如算术运算,条件运算,关系运算甚至移位等,在python中都得到了很好的支持。
3.1.1 整数运算
python支持的整数运算有:加(+), 减(-),乘(*),除(/),整除(//),乘方(**)和取余(%)和取补(~)
3.1.2 整数运算优先级
对于各种运算,支持的优先级如图3-1所示。

图3-1 python整型运算优先级
3.1.3 溢出
由于python中对于整型数的长度并没有限制,因此“溢出”是浮点数运算过程中可能产生的情况,由于浮点数在python中做了精度限制,因此当超过计算机表示范围时,将发生溢出情况。注意,对于溢出情况,python可能不会提示用户,因此这个工作落在编码者身上。具体溢出情况如图3-2所示。

图3-2 浮点运算溢出
3.1.4 数学函数
python的math模块自带了很多数学函数,如表3-1所示。
表3-1 数学函数
|
函数 |
描述 |
示例 |
|
ceil(x) |
大于或等于x的整数 |
ceil(5.1)=6; ceil(5) = 5 |
|
cos(x) |
X的余弦 |
cos(45)= 0.5253219888177297 |
|
degrees(x) |
将x弧度转换为度数 |
degrees(1.5)= 85.94366926962348 |
|
exp(x) |
e的x次方 |
|
|
factorial(n) |
n的阶乘 |
factorial(4)=24 |
|
log(x) |
以e为底的x的对数 |
|
|
log(x,b) |
以b为底的x的对数 |
|
|
pow(x,y) |
X的y次方 |
|
|
radians(x) |
将x度转换为弧度数 |
|
|
sin(x) |
X的正弦 |
|
|
sqrt(x) |
X的平方根 |
|
|
tan(x) |
X的正切 |
|
3.2 字符串
python中字符串可以使用单引号(‘’)或者双引号(“”)以及三引号(“”””””)括起来的字符
3.2.1 字符串操作
(1)计算长度
python中字符串的长度使用函数len()来获取。如图3-3。
图3-3 计算字符串的长度
(2)字符串连接
字符串连接有两种方式,如表3-2所示。
表3-2 字符串连接
|
连接方法 |
示例 |
|
+ |
>>>“hello” + “ python” Hello python |
|
* |
>>> “python ”*3 python python python |
3.3 类型转换
python中也存在类型转换,主要是整型、浮点型和字符串的转换,各种转换过程如表3-3所示。
表3-3 python类型转换
|
类型转换方式 |
示例 |
|
整数转换为浮点数 |
>>> float(3) 3.0 |
|
字符串转换为浮点数 |
>>>float(‘3.14’) 3.14 |
|
整数转换为字符串 |
>>>str(3) ‘3’ |
|
浮点数转换为字符串 |
>>>str(3.14) ‘3.14’ |
|
字符串转换为整数 |
>>>int(‘5’) 5 |
注意:非字符的字符串转换时将抛出异常,例如:
>>> float(“abc”)
ValueError: could not convert string to float: 'abc'
隐式转换:在同时包含整数和浮点数的表达式中,python将自动将整型转换为浮点数,C语言中也存在隐式转换
3.4 变量与值
3.4.1 变量
Python中的变量没有“类型”这一说,这与其他语言(C,JAVA)不同,C和java中变量必须严格限制类型,int, long,或者其他,而python中变量没有类型,可以直接用一个变量名去接收某中值。如图3-4所示。
图3-4 变量及赋值
变量名要求:字母、下划线和数字组成,关于变量名有以下限定:
(1) 首字母不能是数字
(2) 区分大小写;
不能使用关键字作为变量名
3.4.2 赋值
关于赋值有以下几点需要注意:
(1)变量赋值是将变量名指向对应的值,但是值本身并不复制,因此python的变量赋值效率很高;
(2)数字和字符串是不可变的;
(3)多重赋值,具体如图3-5所示。
图3-5 多重赋值
(4)交换变量的值,有两种方式,如图3-5和图3-6所示。
图3-5 变量值交换方式1
图3-6 变量值交换方式2
4 变量总结
本章主要讲述的是变量,数值计算,字符串等的相关操作,图4-1是本章内容的总结,如图4-1。
图4-1 本章内容概要

希望对大家有所帮助,有任何问题请留言,多谢
浙公网安备 33010602011771号