python笔记2 - 函数,表达式,语句
1.python诞生
创始人:Guido van Rossum(荷兰人)
时间:1989年圣诞节
地点:阿姆斯特丹
应用领域:
系统运维
网络编程(搜索引擎,爬虫,服务器编程等)
科学计算
人工智能,机器人
web开发
云计算
大数据及数据库编程
教育
游戏
图像
版本:
python v2.3
python v2.7
python v3.5
python v3.7(最新)
python的特点:
优点:面向对象:封装 继承 多态,适合合作开发
(C++/JAVA/JAVA/PYTHON/SWIFT/C#)
免费
可移植
可混合编程
简单易学易用
开发效率高
应用领域广泛
缺点:
与C/C++相比,执行速度不够快
python官网:
www.python.org
可查看语言文档信息
python的安装:
需要安装python的解释执行器,python不会编译成机器语言
兼容是操作系统:
windows
linux
unix(mac os)
获取地址:
https:www.python.org/getit/下载
-----------------------------------------------------------------------------------------------------------------------------------
2.python的运行:
python的解释执行器(依赖于其他的解释执行器软件)
CPython(c语言开发)
JPython(java语言开发)
IronPython(c#语言开发)
PyPy (python语言开发)
编写hello.py,写入:
print("hello world!")
执行python程序:
法1: python3 hello.py
法2: 编写hello.py 第一行加入(类比shell编程)
#!/usr/bin/python3 #解释如下程序的名称或路径位置 ./shell.sh脚本文件首行必须添加此行数据
chmod u+x hello.py #添加用户对文件hello.py的执行权限
./hello.py
常用的程序文件的后缀:
.c c语言
.cpp/.cxx/.cc/.c c++语言
.java java语言
.py python语言
在python交互模式下编写执行代码:
进入交互模式(进入python的解释执行器):
$ python3 <回车>
退出交互模式:
法1:>>>exit()
法2:ctrl + d
python注释:注释是以 # 号开头,直至行尾
作用:让 # 后的字符不参与执行
python程序的组成:
程序由模块组成
模块由语句,函数,类等组成
语句包含表达式
表达式建立并处理对象
核心数据类型和内置对象:
数字类型,字符串str,布尔类型bool,空值None
数字类型:
正型(int)
浮点型(float)
复数(complex)
数字常量的表示方法:
整型数(python3后的整型数没有最大限制):
十进制:100,0,-5,99999999999999999999999999999999999999999999
二进制(0b开头):0b1101(13)
八进制(0o开头):0o11(9)
十六进制(0x开头):0x1A,0x1a2b3d4c
浮点数(小数):
十进制写法:3.14,0.14,.14
科学计数法:小数 e/E 10的n次幂 6.18E-1(0.618),2.9979e8
复数complex
格式:a+bj(a实部,b虚部),1+3J
布尔类型bool(python中bool类型不是数字类型):
特点:只有两种状态:真 和 假
真:True
假:False
说明:对计算机来说,True是值为1,False的值为0
空值None:
作用:通常用来绑定占位,变量解除绑定
特点:None是一个特殊的常量,不表示任何类型
说明:空值和任何其他类型对象进行比较永远返回False
表达式 和运算符(操作符)
表达式:
通常是让计算机做一些事情并返回结果法表示方法
算数运算符:
+ 加
- 减法
* 乘以
/ 除法
// 向下取整,地板除
% 求余
** 幂运算
说明:
+-:不会强制转换成左边的数据类型
/:为浮点数,整除时为1位浮点数,不会丢弃小数部分
1/3 = 0.3333333333333
8/2 = 4.0
//:地板除floordiv
除的结果去掉小数部分,向下取整,直接丢弃小数部分,返回整数
7/3 = 2.333333333
7//3 = 2
8//3 = 2
3.25//1.5 = 2.0
说明:有浮点数参与,返回浮点数;整数与整数的地板除返回整数
思考题:-3 // 3 = -1
-5 // 3 = -2 (注意其规则是向下取整,即向小的数据取整,正负数均是如此)
%:求余(取模):
5 % 3 = 2
3.25 % 1.5 = 0.25
-5 % 3 = 1 #这里有个先取整的过程,向下取整先得到-2,所以-5-(-2)*3=1
x % y 的结果位于区间[0,y)
**:幂运算
4 ** 2 = 16
3.0 ** 3.0 = 27.0
运算符的优先级:
**
* / // %
+ -
括号分组子表达式:
用()将表达式分组,()内部的表达式先进行运算
基本输出函数print
部分格式:
print(值1,值2,...)
例:
print() 输出空行
print(1) 输出:1
print(1,2,3,4) 输出结果:1 2 3 4
sublime行注释快捷键:ctrl+/
变量:关联一个对象的符号(标识符)
命名方法:必须以字母或下划线开头,后跟字母,下划线或数字,不能使用python的关键字
说明:变量名区分大小写
合法的变量名:a a1 b bbb _a _ASD VAR
不合法的变量名:1a 123 $ad +df
python的关键字:True False None is del if elif else
赋值运算符:=
格式:变量名 = 表达式
作用:1.当没有此变量时,创建一个变量,同时将变量绑定到这个对象上(a=1,没有a就创建a,a绑定在1上,a是变量,1是对象)
2.当变量存在时,改变此变量关联的对象(a=1,a=2,从此a表示2)
3.用变量访问此变量关联的对象(None是对象,一个变量同一时间只能绑定一个对象)
说明:用变量可以访问它绑定的对象
两个变量可以同时绑定同一个对象
python中关联/绑定/引用:变量和一个对象的关联关系
序列赋值语法:
变量名1,变量名2,... = 对象1,对象2,...
变量名1,变量名2,... = (对象1,对象2,...)
(变量名1,变量名2,...) = [对象1,对象2,...]
[变量名1,变量名2,...] = 对象1,对象2,...
实例:
a=10
b=20
a,b,c=10,20,30
a,b = b,a #可以交换a,b绑定的值
is / is not运算符:
is:判断两个变量是否绑定同一个对象,当绑定同一个对象时返回True,否则返回False
is not: 与is相反
语法:
x is y
x is not y
del:用于删除变量,同时解除与对象的关联,如果可能则释放对象
格式:del 变量名1,变量名2,...
实例:
a=100
b=200
法1:a = None (a依旧是存在的)
法2:del a (a,100均消失)
检查:在交互模式下查看当前作用域的所有变量
help()函数
>>>help("__main__") ###双下划线
退出键:q
-------------------------------------------------------------------------------------------------------------------------------------------------------
3.python函数
问题1:[]表示可以省略,例如 ls [x选项] [参数]
问题2:python需要顶格写
问题3:indentation error 表示缩进错误
问题4:ctrl+shift+l sublime中可以显示多个光标(ctrl+L)
复合赋值运算符:
+= x += y 等同于 x=x+y
-= x -= y 等同于 x=x-y
*=
/=
//=
%=
**=
要求:执行此操作时变量应先存在(即先有绑定)
实例:>>>x += 1 x >>>x is not defined
>>>x=10 x += 1 x >>>11
关系运算符:
<
<=
>
>=
==
!=
说明1:关系运算符返回的布尔类型的值(True/False)
说明2:None与任何对象相比都返回False(和自己相比返回True)
实例:>>> x = None
>>> x = None
>>>x = 70 >>> 80 > x > 60 #返回x是否在(80-60)的区间
生成对象的函数:
float(obj):用于字符串或数字转换为浮点数,如果不能出参数,则返回0.0
int(x[,base = 10]):用数字或字符串转换为整数,如果不给出参数,则返回0
说明:base表示进制关系,默认十进制
bool(x):用x生成一个布尔值(True/False)
说明:返回假值False的情况:
False 逻辑假值
None 空值
0 0.0 0j 所有的数字0
"" 空字符串
() 空元组
[] 空列表
{} 空字典
set() 空集合
complex(r=0.0,i=0.0):用数字生成一个复数(实部为r,虚部为i)
str(obj='')| 用对象转换为字符串
实例:
>>>x=int() >>>x >>>x=0
>>>x=float() >>>x >>>x=0.0
>>>x=("1101",2) >>>x >>>x=13
>>>bool(0) >>>False
>>>str(0) >>>'0'
预置的数据型函数:
abs(x) 取x绝对值
round(number[,ndigits]) 对数值进行四舍五入,ndigits是小数向右取整的位数,负数表示向左取整
pow(x,y,z=None) 相当于x**y 或 x**y&z,其中z=None是默认填充
实例:>>>x = 13.456 >>>round(x) >>>13
>>>x = 13.456 >>>ruonnd(x,2) >>>13.46
>>>x = 13.456 >>>ruonnd(x,-1) >>>10.0 #保存十位,干掉个位,对十位数进行四舍五入
>>>pow(3,2,4) >>>1
帮助函数:
help(x):查看文档帮助
实例:help(abs)
语句:语句由一些表达式组成,同城一条语句可以独立执行来完成一部分事情并形成结果
实例:print("hello")
x = 1+2
注意:多条语句写在一行需要用分号;分隔开
实例:print("hello");x = 1+2
显示换行:
折行符:\
说明:折行符必须放在一行的末尾,示意解释执行器,下一行也是本行的语句(\后不可以加任何的字符,包括空格) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
实例:x=11111111111111+11111111111111111+\
+3333333+222
print(x)
隐示换行:
所有的括号的内容换行
实例:1+(2+
3+4+5+5
+6
+7+7)
基本输入输出函数:
基本输入函数:input(其返回的一定是字符串)
作用:从标准输入设备上读取一个字符串,末尾的换行字符会被删除
格式:input('提示字符串')
说明:返回输入的字符串(仅python3)
实例:
text=input("请输入圆的半径:")
r=int(text)
pi=3.14
pritn("周长:",pi*2*r)
print("面积:",pi*r**2)
基本输出函数print:
作用:将一系列的值以字符串的形式输出到标准输出设备上,输出设备默认为终端
格式:
print(value, ...,sep=' ',end='\n',file=sys.stdout,flush=False)
关键字参数的含义:
sep:两个值之间的分隔符,默认为一个空格(输出字符串间隔符号由空格变成了自定义的符号)
end:输出完毕后在流末尾自动追加一个字符串,默认为换行符('\n表示换行')!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
flush:是否立即将流进行输出(True指立刻输出,False不是立刻输出)
file:流对象,默认为sys.stdout
实例1:
print(1,2,3,4)
print(1,2,3,4,sep=' ')
print(1,2,3,4,sep='!') #间隔符变成!(如果输出内容中含有字符串,则将字符串当做一个整体,其整体后面的分隔符变成!)
实例2:
print("第一行文字",end='') #不换行,在一行显示
print("第一行文字")
实例3:
print("第一行文字",end='\n\n\n') #中间空了3行
print("第一行文字")
实例4:
print("我可能在缓冲区") #系统检测换行符(print语句结尾默认有),这里有换行符,所以立即进行打印
import time
time.sleep(10)
print("我睡醒了")
实例5:
print("我可能在缓冲区",end='') #系统检测换行符(print语句结尾默认有),这里没有换行符,暂时不打印
import time
time.sleep(10) #睡10秒
print("我睡醒了") #系统检测换行符,发现换行符,将之前的放入缓冲区的“我可能在缓冲区”拉出来,将缓冲区清空,一起打印输出
实例6:
print("我可能在缓冲区",end='',flush=True) #将缓冲区清空,刷新打印到屏幕上
import time
time.sleep(10)
print("我睡醒了")
实例7:
print("我可能在缓冲区",end='')
print("\nhello") #系统将检测到hello末尾默认添加的“\n”,会将前面没有打印的,放入缓冲区的信息一并抽出来进行打印操作
import time
time.sleep(3)
print("我睡醒了")
总结:
(1)系统检测换行符(换行符是个控制字符,print语句的末尾会默认添加换行符‘\n’,),输出时系统侦测换行符,只有见到换行符才会进行打印工作(打印是个极耗时间的操作,经常将多个语句关联到一起,放入缓存区,发现换行符一起输出);如果程序执行结束,也会将缓冲区清空,执行该有的操作
(2)如果放入在缓冲区,程序执行完毕后会将缓冲区清空,拉出打印到屏幕
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
5.python语句
条件语句
if 语句:让程序根据条件选择性的执行某条语句或某些语句
语法:
if 真值表达式1:
语句1
elif 真值表达式2:
语句2
elif 真值表达式3:
语句3
...
else:
语句4
说明:
elif子句可以有0个,1个或多个!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
else子句最多只能有一个,也可以没有;else后面不能再跟条件!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
总结:elif和else都可以没有!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
实例:
text = input("请输入一个数:")
n = int(text)
if n > 0:
print("这是一个正数")
elif n < 0: #我们认为elif是if的一部分,所以if和elif是一条语句
print("这是一个负数")
else:
print("这是0")
print("程序结束")
if语句嵌套:
if语句本身是由多条语句组成的一条语句
if语句可以作为语句嵌套到另一个语句的内部
实例:
score = input("请输入学生成绩")
score = int(score)
if 0 <= score <= 100:
if 0<=score<=60
print("不及格")
else:
print(""成绩不合法)
print("程序结束")
条件表达式:
语法:
表达式1 if 真值表达式 else 表达式2
作用:
如果真值表达式的布尔环境值为True,表达式1执行并返回对象,否则表达式2执行并返回对象
记忆:正确的时候返回左边的,错误的时候返回右边的
实例:a b
a if a > b else b (条件表达式真返回左值a,假时返回右值b)
实例1:
score = input("请输入学生成绩")
score = int(score)
if score >= 60
s="及格"
else:
s="不及格"
print("结果:",s)
实例2(与实例1作用相同):
score = input("请输入学生成绩")
score = int(score)
s = "及格" if score > 60 else "不及格" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
print("结果:",s)
实例3(去绝对值):
x = input("请输入 一个数:")
x = int(x)
x = x if x >0 else -x #等同于x=abs(x)
实例4(用于记忆):!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
A if a > b else B 正确的返回左边,错误的返回右边!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
pass:又名空语句,通常用于填充语法空白
语法:
实例1:
score = int(input("请输入学生的成绩:"))
if 0 <= score <= 100: #下面少一个操作语句,虽然人为感到没问题,但是不符合if语句的语法规则
else:
print("成绩不合法")
print(score)
实例2(修改实例1):
score = int(input("请输入学生的成绩:"))
if 0 <= score <= 100:
pass
else:
print("成绩不合法")
print(score)
2017/10/12
python笔记2 - 函数,表达式,语句相关推荐
- python 笔记:函数
1 空函数 如果想定义一个啥都不做的空函数,可以用pass语句 因为python没有:,所以if语句如果没有内容的话,用pass语句 2 函数的返回值 函数可以返回多个值(相当于返回一个tuple-- ...
- 笨方法“学习python笔记之函数
规则 python也支持函数功能,但是定义了一些简单规则 函数代码以def关键词开头,后接函数标识符名称 和圆括号(). 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数 函数的第一 ...
- PYTHON 笔记:函数的定义和调用
函数定义: def 函数名([参数表]): "文档字符串"函数体 函数体需要缩进 例:打印字符串 def printStr(x)'''print the string'''prin ...
- 初学者python笔记(函数)
文章目录 1. python中的函数参数 2. 一个能接收任意值的函数 3. 函数递归 4. 函数作用域 5. 函数嵌套 函数嵌套的调用(1) 函数嵌套的调用(2) 函数嵌套的调用(3) 函数可以说是 ...
- 轩小陌的Python笔记-day11 函数进阶
day11 函数进阶 目标:掌握函数相关易错点 & 项目开发必备技能. 今日概要: 参数的补充 函数名到底是什么? 返回值和print,傻傻分不清楚. 函数的作用域 1.参数的补充 在函数基础 ...
- python笔记22-literal_eval函数处理返回json中的单双引号
前言 在做接口测试的时候,最常见的接口返回数据就是json类型,json类型数据实际上就是字串,通常标准的json格式是可以转化成python里面的对应的数据类型的 有时候开发返回的数据比较坑,不按常 ...
- python 笔记 之 函数中默认参数的影响
2019独角兽企业重金招聘Python工程师标准>>> # 声明一个函数,第一个参数是整型,第二个参数是list类型, # l 有一个默认值,默认值为[]空列表def f(x,l=[ ...
- PYTHON 笔记:函数的参数(关键字参数,默认参数,可变长参数,可变长的关键字参数)
一般的函数参数是位置参数,位置不对会出问题 1.关键字参数 使用参数名提供的参数就是关键字参数,有了关键字参数,顺序就不会有影响. >>>def printGrade(name,ID ...
- 轩小陌的Python笔记-day26 必备SQL语句、表关系及授权
day26 必备SQL和表关系及授权 课程目标:掌握开发中最常见的SQL语句和表关系及授权相关知识点. 课程概要: 必备SQL(8个必备) 表关系 授权 1. 必备SQL语句 上一节讲解了最基础SQL ...
最新文章
- eBay:大数据和人工智能是2017年电商发展关键因素
- datagrid行内编辑时为datetimebox
- python在工程管理专业的应用案例_工程项目管理软件应用案例(精)
- H2 database 操作操作内存表
- 从源码看spring applicationContext在web容器中加载过程
- 读取金税盘、税控盘或税务Ukey基本信息
- CASS 快捷键设置方法
- 笔记本和android分屏,如何把Android/IOS手机或者平板作为PC电脑显示器的分屏
- 利用Power BI制作分级地图报表
- 计算机科学导论第一章练习解答
- ES自动化集群搭建脚本shell
- 初识hellow world
- 前端做大屏显示,缩放比,分辨率怎样适配?
- 武汉php东和,武汉--从轨道交通线网规划看黄陂、东西湖和江夏等新兴区域发展潜力...
- 三国杀 官方 游戏规则
- 图解unicode、utf8和utf8mb4
- [Python]Django模型(Model)
- 51nod 1113 矩阵快速幂
- 大数据开发第一站ODS篇
- 高等数学学习笔记——第二十一讲——函数的一致连续性
热门文章
- 关于汽油必须知道的11件事 可能是最全的油品全解
- 免费的NBA历史得分榜接口
- arm synchronization primitives
- 计算机属性中只有远程协助,使用Windows自带的远程协助功能解决电脑问题
- 解析华为OSPF协议
- 修改apt-get服务器,云服务器使用sudo apt-get update 失败的原因及解决方法(unubtu下)...
- php imap 安装_PHP安装IMAP扩展
- DDNS的NAT穿越问题
- 配置测试,你了解吗?
- vim配置http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html