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 本章内容概要
- Python初体验之基础篇(1)- 算术和变量
- python初体验(1)基础篇
- Python基础(二)之Python变量和数据类型
- python初体验(1)——基础篇
- python基础篇之变量
- Python基础回顾之-变量和数据类型
- python基础学习之变量和字符串
- Python基础语法之数据类型和变量
- Python基础学习--第二篇(Python变量和数据类型)
- python学习(1)python基础、数据类型和变量
- python基础(一)数据类型和变量
- 自学Python之Python基础:(一)数字、字符串和变量
- python之初体验
- python 初之体验
- Python之初体验
- Python新手学习基础之函数-全局变量和局部变量
- Python新手学习基础之函数-全局变量和局部变量
- Python基础入门之变量和数据类型一
- hdu2047阿牛的EOF牛肉串
- 通过使用构造器来配置Bean
- 【边喝caffee边Caffe 】(三) Check failed: registry.count(t ype) == 1 (0 vs. 1) Unknown layer type
- mysql下载于部署
- HAproxy 代理技术原理
- Python初体验之基础篇(1)- 算术和变量
- 冒泡排序
- SQL Server 未删除任何行
- fork,vfork,clone区别
- 网易互娱2017实习生招聘在线笔试(二)
- JAVA多线程之(CyclicBarrier)
- Android实现仿qq登录可编辑下拉菜单
- 五、物理任务生成
- hdu2048 神、上帝以及老天爷(错排)