**<>笔记**
1.python简介
创建人:Guido Van Rossum(荷兰人)
时间:1989年创建python
pythohb应用领域:
系统运维
网络编程
可科学计算
人工智能 - 机器人
web开发
云计算
大数据和数据编程
教育
游戏 图像
其他
2.python的优点和缺点:
优点: 面向对象(java C++ python都是面向对象的高级语言)
免费
可移植
可混合编程(c/c++ )
简单易学易用
开发效率高
应用领域广泛
缺点:
与C++比。执行速度不够快
不能封闭源代码
python官网: https:wwww.python.org
3.python的安装:
window
Linux/Unix
Mac os都能运行
python的运行:
python的解释执行器的类型:
Cpython(c语言开发)(python3)
Jpython(java开发)
Ironpython(.net开发)
pyrhon 的版本:
pythonv2.7
python V3.5 当前教学
python v3.7 最新的发布版
4.第一个python程序:
打开sublime txt 3 编写hello.py
内容里写print("hello worxd")
执行python hello.py
python3 hello.py
5.常用的程序文件的后缀:
.py python 文件后缀
.c C语言文件后缀
.cpp C++ 语言的后缀
.java java语言的后缀
6.python3的交互模下编写并执行代码:
进入python交互环境:
python <回车>
退出python3交互环境:
exit()<回车>
quit() <回车>
ctrl+d(输入文件结束符)
7.python3的注释:
python的注释以#开头 直至行尾
作用:
让注释内容不执行
8.python3的程序组成:
程序有模块组成
模块有语句 , 函数 , 类等组成
语句包含表达式
表达式建立并处理数据对象
9.python的核心数据类型:
数字(整型 浮点型 复数 布尔型 )
字符串 str
列表 List
1)数字:
整数 int
整型数是不带有小数部分的数据 包括自然数 , 0, 负数
如 -5 0 100
10.整型字面值得表示方式:
十进制
10 200 -100 9999 9999999999999999999
八进制方式表示(0o开头 后跟0~7)
0o11 (9)
0o177 (127)
十六进制表示 (0x开头 后跟0-9,A-F或a-f)
注 : a表示10 b表示11 f表示15
0x11 (17)
0xFF (255)
二进制表示方式(0b开头 ,后跟0-1)
0b111 (7)
练习
计算0xFFFF表示多少 #65535
计算0xFFFFFFFF表示多少 #4294967295
计算0b001表示多少 #0b71
试着把9转化为为2进制 #1001
2)浮点数 (float):
浮点数是带有小数部分的数字(小数部份可以是0)
浮点型数的两种表示方式:
小数形式:
3.14 3.1 3.0 3. 0.14
科学计算法:
小数e/E(正负号)指数
如 6.17E-1(等同于 0.617)
2.99779e8 等同于299790000
3)复数 complex:
分为两部分:
实部 (real)
虚部 (image)
注: 虚数是以j或J结尾的
复数的字面值:1j,(2j), 1+1j
4)布尔型数 bool:
用来表示真和假两种状态的类型
True 表示真(条件满足成立)
False 表示假 (条件不满足或不成立里
说明:
True的值是1
False的值是0
空值 None:
None是一个表示不存在的特殊对象
作用:
用来占位
变量解除绑定
11.表达式和运算符:
表达式 expression:
有一个数字或数字和运算符组成
作用:
通常让计算机做一些事情并返回结果
如 :1+2*3-4
算术运算符:
+ 加
-减
* 乘
/除法
//地板除
% 求余
** 幂运算
1)/ 除法:
除法得到的是浮点型数 不会丢弃小数部分
1/3 得 0.333333333333333
8/2 得 4.0
2)//地板除:
除去的结果去掉小树部分向下取整
7/3 得 2.33333333
7//3 得 2
8//3 得 2
3)% 求余:
7%3 得 2.33333333333333
3.25%1.5 得 0.25
4)**幂运算:
格式:
x**y 意为x的y次方
4**2 得 16
3.0**4.00 得 81
12.运算符的优先级:
**
* / // %
+ —
13.括号分组子表达式:
用()可以将表达式分组,()内部表达式先进行计算
14.混合类型自动升级:
1+2.14 返回类型为浮点型 3.14
基本输出函数
格式:
print(要打印的东西)
15.变量:
1)什么是变量:
变量是关联一个对象的标识符
变量可以绑定一个对象, 并可以通过变量名来使用这个对象
2)标识符的命名方法:
标识符必须为字母或下划线开头 , 后跟字母或下划线或数字
说明:
不能用python的关键字做变量名
python的变量名区分大小写
3).合法的变量名示例:
a a1 bbbb _abcd var s1b2
不合法的变量名:
1a 123 ¥sdk +a @abc
4)python的关键字(33个):
True False None is del if elif else
16. 赋值语句:
语法:
变量名=表达式
或 变量名1=变量名2=变量名3=表达式
或 变量名1,变量名2,变量名3...=序列
作用:
创建一个变量名或者修改一个变量名绑定的对象
说明:
当变量不存在时 ,创建该变量 ,同时将变量绑定在这个对象上
当变量存在时, 改变变量的绑定对象
一个变量名只能绑定一个对象
两个变量可以同时绑定同一个对象
示例 :
a=10
b=20
a=b # a绑定在b绑定的对象上, a与10绑定 , 再绑定在20
x=y=z=1000 #
x,y=300,4000 #x绑定在300 y绑定4000
17.python的自动化内存管理(重点):
a=10000
b=2000
a=a+b #10000和2000两个数据对象运算生成的对象用a变量去绑定,释放了10000的数据对象
c=a #发生了什么事儿 a和c同时绑定在3000这个对象上
18.python 中 关联/绑定/引用的含义:
在python中 变量没有类型
关联/绑定 /引用是指有一个变量和一个对象的关联关系
练习
1 制定一个半径r=3厘米的园
1) 计算元的周长是多少厘米
2) 计算元的面积是多少平方厘米
2 已知有两个变量
a绑定10000
b绑定 20000
问:在不创建任何新的对象下 ,如和让a和b交换绑定的对象
法一
a=10000
b=20000
c=0
c=a,
a=b。
b=c
print("a和b的值是",a,b)
法二:
a=10000
b=20000
a,b=b,a #序列赋值
print("a和b的值是",a,b) # 2000和;0,10000
18在交互模式下查看当前作与内的所有变量:
help(“_man_”)
退出 : q
注:help函数用来查看帮助或运行时信息
19.del语句(delete简写):
用于删除变量 , 同时接触变量与对象的绑定关系
如果可能则释放对象
语法:
del 变量名
自动化内存管理的引用计数
每个对象会记录有几个变量引用自身,当引用的数量为0时对象被销毁,池中自动化内存管 理的方式叫引用计数
20.is /is not 运算符:
作用:
判断两个对象是否是同一个对象,当是一个对象时返回True,否则返回False
is not和is的作用效果相反
语法:
x is y
x is not y
小整数对象池:
Cpython中,整数-5至256永远在小于整数的对象池中,不会释放并可重复使用
id(x)函数:
作用:
返回一个对象在内存当中的地址
练习:
1 在终端打印出如下图形
*
*
**
*
2 中国的称是16两一斤 请问中国古代的216两是现代的几斤几两,写出打印程序
3 从凌晨0:0:0计时 到现在已经过了63320秒 请问现在是几时几分几秒?写出打印程序
4温度装潢
摄氏度=5.0/9.0*(华式温度)
开氏温度=摄氏温度+273.15
问:
100华氏温度转化为摄氏温度是多少度
转化为开氏温度是多少度
print(" * ")
print(" *** ")
print(" ***** ")
print("*******")
print("古代的216两是现代的",216//16,"斤",216%16,"两")
print("63320秒是",63320//3600,"时",63320%3600//60,"分",63320%3600%60,"秒")
print("100华氏温度转化为摄氏温度是",5.0/9.0*100,"度")
print("100华氏温度转化为开氏温度是",5.0/9.0*100+273.15,"度")
21复合赋值算数运算符:
运算符 说名
y+=x 等同于 y=y+x
y-=x
y*=x
y/=x
y%=x
y//=x
比较运算符:
< 小于
> 大于
<= 小于等于
>= 大于等于
== 等于
!= 不等于
语法:
左表达式> 右表达式
说明:
比较运算运算符通常返回布尔类型的值
示例:
100<2000 #True
100>200 # False
1+5== 2+4 #True
0<=100<=200 True
22.数值对象的构造(创建)函数:
float (obj)
用字符串或数字转换为浮点数 如果不给出参数 则返回0.0
int(x,base=10)或int(x=0)用数字或字符串转换为证书 如果不给出参数 则返回0
base 为进制转换的底数
complex(r=0.0 ,i=0.0) 用数字创建一个复数(实部为r ,虚部位i)
bool(x) 用x创建一个布尔型(true /false)
23函数的调用:
函数名(传参数列表)
说明:
函数调用表达式,一定会返回一个 对象的引用关系
bool(x) 返回假值得情况
bool(x) 用于显示获取x的布尔值
假值情况:
Zone 空值
False 布尔假值
0 0.0 0j 所有数字零
“” 空字符
[] 空列表
() 空元组
{} 空字典
set() 空集合
其余都返回真值
练习:
将数字3.14用变量pi绑定
将pi变量转化为整数,用i绑定
将pi变量与i变量相减 结果用发绑定
1 . 判断f是否等于0.14 ? 为什么?
2 . 删除所有的变量(用和交互模式做 )def pi,i,f
数值型函数:
abs(x) 取x的绝对值
round(numner。,number【,ndigits】) 对书值进行四舍五入,ndigitss
是小数向右取整的位数 负数表示向左取整
pow(x,y,z=None) 相当于x**y或者 x**y%z
help()查看函数的帮助
help+ 函数名
x=123.456789
print(round(x))
print(round(x,2)) #123.46
小结:
id(x) 返回整数的地址
float(x)
int(x,base=10)
complex(r=0,i0)
23基本输入函数 input:
input(“提示字符串”)
返回用户输入的字符串(提示符可以为空)
示例
input。py
s=input(“请输入一些文字”)
print(“刚才输入的内容是”,s)
24基本输出函数 print:
作用:
将一系列的值以字符串形式输出到标准设备上 默认为终端
格式:
print(value,。。。。sep=’‘,end=’、n‘)
选项的关键字参数
示例:
print(1,2,3,4)
print(1,2,3,4,sep=’#‘)
print(1,2,3,4,sep=’‘) #1234
print(“hello world”,sep=’###‘) #分隔符无效
print(1,2,3,4,end=’end‘)
print(5,6,7.8,end=’¥¥¥‘)
练习:
1 今天是小名的20岁生日 ,假设每年有365天 计算过了多少个星期天 玉多少天(不要求有精确)
2 分三次输入当前的小时,分钟 ,秒数
在终端打印出距离0:0:0 过了多少秒了
练习:
输入两个整数,分别用变量x的y绑定
1) 计算着两个数的和。并打印结果
2) 计算着两个数的成绩,并打印结果
3)计算x的y次方并打印机结果
如:
请输入x:100
请输入y:200
打印将结果如下:
100+200=300
100*200=20000
100**200=….
24语句 statment :
语句有一些表达式组成,通常一条语句可以独立来完成一部分事情并形成结果
一条语句建议写在一行
多行语句卸载一行内需要用分号(;)分开
示例
x=100
y=200
print(x+y)
#写在一行为 x=100;y=200;;print(x+y)
显示换行:
折行符必须放在一行的末尾 来示意解释执行器的下一行也是本行的语句
(/ 可以显示折行)
示例
x=1+(2*3.0 )+4+5
隐式换行:
所有括号的内容换行,成为隐式换行
() [] {}
#此示例示意隐式换行
x=1+(2*3.0 )+4+5
25if语句 :
问题:有两条语句
print(“是偶数”)
print(“是奇数”)
如何只让其中的一条语句执行并打印出结果
作用:
让程序根据条件选择性的执行某条语句或,某些语句
语法:
if 真值表达法1:
语句块1
elif 真值语句2:
语句块2
elif 真值表达式3:
语句块3
..........
else:
语句块4
说明:
elif子句可以是一个,零个或多个
elif子句可以有0个货1个,且只能放在if语句的最后面
练习
任意输入一个数
1) 判断这个数是否大于100
2) 判断这个数是否小于零
3) 判断这个数是否在80-100之间
任意输入一个数,用程序来判断这个数是整数还是负数或者另
1 输入一个季度1~4 输出这个季度有那几个月,如果用户输入的不是1到4的整数,这输入用户您输错了
2 输入一年中的月份1-12 输出这个月在那个极度,如果输入分是其他的数,则提示您错了
答案如下:
y=int(input(“输入一个季度数”))
if y==1:
print(y,”这个季度有1,2,3月”)
elif y==2:
print(y,”这个季度有4,5,6月”)
elif y==3:
print(y,”在各个季度有7,8,9月”)
elif y==4:
print(y,”在这季度有10,11,12 月”)
else:
print(“输入错误”)
x=int(input(“请输入月份整数”))
if x//4==0:
print(“第一季度”)
elif x//4==1:
print(“第二季度”)
elif x//4==2:
print(“第三季度”)
elif x//4==3:
print(“第四季度”)
else:
print(“输入错误”)
1)if语句的真值表达式:
if 100:
print(“真值”)
等同于 if bool(100):
print(“真值”)
2)if语句的嵌套:
if语句的本身是由多条句子组成的一份符合语句
if语句可以作为语句嵌套到另一个语句的内部
26条件表达式:
语法:
表达式1 if 真值表达式2 else 表达式2
作用:
根据真值表达式的取值(True/False)来决定执行表达式1或者表达式2 并返回结果
练习
1 写一个程序 输入一个数用if条件表达式计算这个数的绝对值
2 写一个程序,输入一个数,用条件表达式计算这个数的绝对值,并打印出来
#方法一
x=int(input("请输入一个数"))
x1=x if x>0 else -x
print(x,"的绝对值是:",x1)
#方法二
y=int(input("请继续输入一个数"))
if y>0:
print(y,"的绝对值是",y)
else:
print(y,"的绝对值是",-y)
28pass 语句:
作用:
通常用来填充语法空白
语法:
pass
示例
输入一个学生的成绩。如果成绩不在1——100之间,则提示错误
布尔运算
运算符:
not and or
布尔非操作 not
语法:
not x
作用:
对x进行进行布尔取非 如 bool(x)为True则返回False,否则返回True
示例
not False # True
not true # False
not 2000>100 #False
28布尔与操作 and:
语法:
x and y
注:x,y代表假肢对象 ,当x的布尔值为False时 返回x,否则返回y
示例:
True and True #true
true and False #False
False and False #False
1 and 2 # 2
0.0 and 0 #0.0
29布尔或 or :
语法:
x or y
注:
优先返回真值对象 ,当x为True时候 返回x ,否则返回y
示例:
True or True # true
True or False # True
False or True #True
False or Ffasle #False
1 or 2 #1
思考:
score=input(”请输入学生成绩“)or ‘0‘:
score=int(score)
请问这是什么意思?
正负号运算符:
+(正) -(负号)
一元运算符
语法:
+表达式
- 表达式
示例:
a=5
b=-a
c=+a
小结:
运算符 < <= > >= == !=
not and or
+ -
函数:
id
abs
round
float
int
complex
bool
i nput
print
语句
if语句
pass语句
表达式:
练习
1 北京醋租车计价器
收废标准:
3公里以内收费13元
基本单位2.3元/公里 (超出3公里以外)
空使费:超过15公里后了,没公里家收单价的50%空驾驶非(3,45/公里{
要求”输入公里数 打印出费用金额
(以元为单位进行四舍五入)
2 输入一个学生的三颗成绩(只要三个数,不要科目)——
1) 打印出最高分是多少
2) 打印最低分多少
3)、打印平韵分
3 给出一个年份,判断是否为闰年,并打印
每四年一润,每百年不润 四百年又润
如 2016年闰年
2100年非闰年
2400年 润年
4 BMI指数 有成身体质量指数
BMi值计算公式:BMI=体重(公斤)/身高的平方
例如 身高173厘米 体重63公斤
BMI=63/173**2
标准表:
BMI<18.5 体过轻
NMI
Ctrl + B
Ctrl + I
Ctrl + Q
Ctrl + L
Ctrl + K
Ctrl + G
Ctrl + H
Ctrl + O
Ctrl + U
Ctrl + R
Ctrl + Z
Ctrl + Y
Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成格式丰富的HTML页面。 —— [ 维基百科 ]
使用简单的符号标识不同的标题,将某些文字标记为粗体或者斜体,创建一个链接等,详细语法参考帮助?。
本编辑器支持 Markdown Extra , 扩展了很多好用的功能。具体请参考Github.
Markdown Extra 表格语法:
项目 | 价格 |
---|---|
Computer | $1600 |
Phone | $12 |
Pipe | $1 |
可以使用冒号来定义对齐方式:
项目 | 价格 | 数量 |
---|---|---|
Computer | 1600 元 | 5 |
Phone | 12 元 | 12 |
Pipe | 1 元 | 234 |
定义 D
定义D内容
代码块语法遵循标准markdown代码,例如:
@requires_authorization
def somefunc(param1='', param2=0):
'''A docstring'''
if param1 > param2: # interesting
print 'Greater'
return (param2 - param1 + 1) or None
class SomeClass:
pass
>>> message = '''interpreter
... prompt'''
生成一个脚注1.
用 [TOC]
来生成目录:
忙得吐血,哪有时间写。
或者流程图:
```flow
st=>start: 开始
e=>end: 结束
op=>operation: 我的操作
cond=>condition: 确认?
st->op->cond
cond(yes)->e
cond(no)->op