Python初体验之基础篇(1)- 算术和变量

来源:互联网 发布:系统之家windows vista 编辑:程序博客网 时间:2024/05/16 09:45

文 | _ShuXin_

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 本章内容概要




0 0
原创粉丝点击