一、python的安装
1.直接安装,勾选 add the python 即可
⑴在dos命令窗口输入python命令 —查看python是否安装好。
如果出现:
说明安装成功,Python 3.6.4表示python的版本。也可以通过 python –V·r查看python版本。
⑵“>>>” 表示:已经进入了python的交互界面。就可以在这写python代码了。
⑶如何退出: exit() 或者 ctrl+z 然后按enter
⑷如果出现:
说明:没有添加python.exe的路径到Path。
2.请注意区分命令行模式DOS和Python 交互模式
看到类似 C:> 是在 Windows 提供的命令行模式,看到 >>> 是在Python交互式环境下
3.第一个 Python程序
(在写代码之前,请千万不要用“复制”“粘贴”把代码从页面粘贴到你自己的电脑上。写程序也讲究一个感觉,你需要一个字母一个字母地把代码自己敲进去,在敲代码的过程中,初学者经常会敲错代码,所以,你需要仔细地检查、对照,才能以最快的速度掌握如何写程序)
在交互式环境的提示符 >>> 下,直接输入代码,按回车,就可以立刻得到代码执行结果。
4.print语句:让Python 打印出指定的文字
然后把希望打印的文字用单引号或者双引号括起来,但不能混用单引号和双引号
5.比较
C语言: 一个字符用单引号括起来,一个以上的字符(字符串)用双引号括起来
python:随意用,不管是几个字符,想用单引号括起来就用单引号,想用双引号就用双引号。
6.如何用python文件保存自己写的代码。因为python交互界面不能保存代码。
㈠步骤:
⑴自己选在一个盘(D盘或EFGHIJ盘都可以),然后创建一个文件夹(命名为:python_file)。这个文件夹专门用来装python文件。
⑵在python_file文件加下面:创建一个python文件。
(如何创建python文件。首先创建一个txt文件,然后将后缀名改为.py即可)
⑶安装一个notepad文本编辑器,就可以通过它编辑python文件。
⑷写好python文件之后,如何运行? 可以在 DOS命令窗口,通过 python start.py 来运行我们编辑好的python文件。
注意:python文件的位置,
如果python文件不在当DOS路径下,那么用python的绝对路径执行。如上图1所示。
也可以,跳转到要执行的python文件的路径下,通过方式2运行python。
小结:
1.用文本编辑器写Python 程序,然后保存为后缀为 .py 的文件,就可以用Python直接运行
这个程序了。
2.直接输入 python 进入交互模式,相当于启动了Python 解释器,但是等待你一行一行地输
入源代码,每输入一行就执行一行。
直接运行 .py 文件相当于启动了Python解释器,然后一次性把 .py 文件的源代码给执行了,
你是没有机会输入源代码的。
二、2019.03.19.
1.缩进方式:以#开头的语句是注释,当语句以冒号“:”结尾时,缩写的语句视为代码块。始终以4个空格作为缩进(tab键)。4个空格 =1个tab
⑴tabs 绝对值 =absurlut
⑵缩写方式:Jave是怎么写程序的(cystem.out.print(“123”);python的缩进符号是Tab。jave不能用Tab键,所以Python代码量少。
⑶abs abs(-177)=177
2.Python程序是大小写敏感的。
3.数据类型和变量(计算机使用二进制,十六进制表整数比较方便。)
数据类型:代表计算机中不同的数据。
4.Python的数据类型:
⑴整数、正整数、负整数、0等。
⑵浮点数(数学当中的小数)
⑶字符串
字符串是以(‘’单引号)或者(“”双引号)括起来的任意文本,引号不是字符串中的一部分,而 是代表括起来的是字符串。
如果字符内部出现单双引号同在,用转义字符\表示。
\n:换行 \t:制表符
\本身转义,所以\表示字符\ (转义:就是把特殊字符转换)
⑷布尔值(True False两种值)
用and、or和not运算
⑸空值(Python里的一个特殊值)
用None表示。φ有意义,不为空值。
5.变量:变量命名必须是大小写英文、数字和_的组合,且不能用数字开头。
6.规范命名法:驼峰命名法(第一个字母小写,后面字母大写)
eg:桌子和水果:tableAndFruit
性别:gender
用户名:userName
密码:passWord
获取用户名和密码:getUserNameAndpassWord
7.python定义变量
a=1 变量a是一个整数
JAve定义变量
数据类型 变量名=1
Int a=1
小结:⑴Python变量的数据是类型,在于你赋值它什么。
⑵变量本身数据类型不固 定…动态语言
⑶静态语言:在编译时变量的数据类型即可确定的语言,多数静态类型语言要求在使用变量之前必须声明数据类型。
8.学软件工程的原因:
它是一个总体的做软件的一套规则。国际上有一套开发软件的标准。让人统一标准,方便操作。
⑴软件工程的命名:programming software
⑵硬件:电脑配置(CPU、硬盘、显卡{目前最大是2080TI}、主板、内存条等)
⑶Window10操作系统,iOS,Linux…系统软件。
⑷软件危机:指在计算机软件开发和维护过程中出现的一系列问题。
⑸软件工程的目标是实现软 件的优质高产。
⑹软件工程生命周期------软件从提出到最终被淘汰的这个存在期。
问题定义-----可行性分析------需求分析-----总体设计-----详细设计-----编码与单元测试----综合测试----维护
9.软件过程—为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
三、2019.03.28.
1.Python支持多种数据类型
2.在计算机内部,可以把任何数据都看成一个“对象”。
⑴对象:有它具体的行为(方法、函数)和属性。
3.变量就是在程序中用来指向这些数据对象的。
4.变量赋值就是把数据和变量给关联起来。
5.常量:
⑴所谓常量就是不能变的变量,比如常用的数学常数π就是一个常量。在Python中,通常用全部大写的变量名来表示常量。
⑵Python根本没有任何机制保证PI不会改变,所以用全部大写的表示法只是一个习惯上的用法.
6.Pycharm解释器:
⑴在内存中创建了一个“ABC”字符串
㈡在内存中创建了一个名为A的变量,并把它指向“ABC”
也可以把一个变量a赋值给另一个变量b,这个操作实际上是把变量b指向变量a所指向的数据。例如下面的代码。
⑶pycharm:使用
7.字符串和编码
⑴字符编码
字符串也是一种数据类型,它的编码问题比较特殊。
因为计算机只能处理数字,如果处理文本的话,必须将文本转换成数字。
⑵8个比特(bit)=1个字节(byte)。
⑶美国编码被称为ASCll编码,中国制定了GB123编码。
⑷由于各国标准不同,Unicode运营而生。它最常用的是用两个字节表示一个字符(非常偏僻的字符需要4个字节)。
⑸编码:把文本转换成一种电脑能认识的数字。
⑹ASCII与Unicode的比较
①ASCII:1个字节表示1个字符。
Unicode:2个字节表示1字符。
②如果文本是纯英文的话,用Unicode编码比ASCII编码多一倍存储空间,在存储和传输上很不划算。
⑺ASCII编码------gb2312/日本编码------Unicode-----UTF8(节约存储空间)
⑻UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节。常用英文字母=1字节,汉子通常=3字节,很生僻的字=4-6字节。如果输入的文本包含大量英文字母,用UTF-8节省空间。
⑼Python中字母与ASCII码的相互转换
ord©:参数是长度为1的字符串,简称字符。ord(‘a’)返回整形数值97。
chr(i):返回一个字符,字符的asci i码等于参数中的整形数值。
例如:hr(97)返回字符 ‘a’,该方法是 ord()的反方法。
参数必须是0-255的整形数值,否则会抛出valueError错误。
总结:
在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输时,就转换为UTF-8编码。
四、2019.04.02
1.pycharm补充:
#!/usr/bin/env python
第一行注释是为了告诉 Linux/OS X 系统,这是一个 Python 可执行程序,Windows 系统会忽略这个注释;
第二行注释是为了告诉 Python 解释器,按照 UTF8 编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。
2.格式化:根据变量变化的一种字符串的方式。
3.
总结: %,%s,%d
⑴% ---------------占位符。
⑵%s -----------表示字符串的占位符。
⑶%d-------------表示整数的占位符。
⑷%2d-----表示两个占位符,如果数不够,用空格来占位。
⑸%02d----也表示两个占位符,如果数不够,用0来占位。
⑹%.2f-----保留小数点后面两位。
⑺%.3f----表示小数点后面三位。
⑻%.3s-----表示3个位置,包括小数点,空格等。
4.当字符串里面的%是一个普通字符时,它需要转义,用%%来表示一个%.
print(‘growth rate: %d %%’ % 7)
7%
5.format()
另一种格式化字符串的方法是使用字符串的format()方法,它会用传入的参数依次替换字符串内的占位符{0}、{1}……,不过这种方式写起来比%要麻烦得多。
五、2019.04.09.
1.使用list和tuple:
⑴List列表:也是一种Python内置的数据。
Python内置的一种数据类型是列表(list)。
list是一种有序的集合,可以任意添加和删除其中的元素。
2.语法及定义方式:
a=[] :[]----方格表示集合:【】[]
len(classmates)-1: 表示列表当中最后一个元素的索引。
L[3] = L[len(classmates)-1]
3.添加元素方法:
append() : 在列表最后插入元素 (一个参数)
insert():在指定索引处,插入元素。(两个参数)
#append(): 只能接受一个参数,我们给了它两个参数,所以会报错。
classmates.insert(0,‘小白’)
6.删除元素:
#pop() :删除列表当中最后一个元素。
#pop(index): 删除指定索引的元素。
classmates = [‘张三’, ‘李四’, ‘王五’,‘小明’]
print(classmates)
#删除元素
classmates.pop()
print(classmates)
classmates.pop(1)
print(classmates)
7.表内置方法:
pop() :删除列表当中最后一个元素。
pop(index): 删除指定索引的元素。
append(value) : 在列表最后插入元素。(一个参数)
insert(index,value):在指定索引处,插入元素。(两个参数)
8.tuple元组:
也是一种数据类型,有序,不能添加或删除元素,即:tuple一旦 初始化就不能修改了。没有list的添加删除方法(没有append(),insert(),pop()等方法)。
tuple的意义优点:
tuple一旦初始化就不能修改了,代码更安全。如果可能,能有tuple代替list就尽量用tuple。
Tuple的缺陷:当你定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来。
9.list = [[]] : 二维列表。
tuple =([1,2,3],[4,5,6],[7,8,9])
如果tuple里面有list,那么可以改变list的元素。
tuple = ([1, 2, 3], [4, 5, 6], [7, 8, 9])
print(tuple[0])
print(type(tuple[0]))
print(tuple[0].append(122))
print(tuple)
6 --------- tuple[1][2]
10.⑴定义一个空tuple: tuple = ()
⑵定义只有一个元素的tuple: tuple = (1,)
11.条件判断语句
age = 20
if age >= 18:
print(‘你的年龄是 %s’ % age)
print(“成人”)
age = 5
if age >= 18:
print(‘你的年龄是 %s’ % age)
print(“成人”)
else:
print(‘你的年龄是 %s’ % age)
print(“未成人”)
注意: 不要少写了冒号 :
age = 16
if age>=18:
print(“adult”)
elif age >= 10:
print(“青少年”)
elif age >=6:
print(“青少年1”)
else:
print(“kid”)
12.语法
‘’’
if <条件判断1>:
<执行内容1>
elif <条件判断2>:
<执行内容2>
elif <条件判断3>:
<执行内容3>
else:
<执行内容n>
‘’’
说明: 从上往下判断,如果在某个判断上为True,那么把判断对应的语句执行后,
就忽略掉剩下的elif和else。
13.用if-elif判断并打印结果:
六、2019.04.16.
1.循环
⑴首先
userName = [‘zhangsan’, ‘lisi’, ‘wangwu’, ‘xiaoming’, ‘小红’]
如何打印输出userName里面的每一个元素??
print(userName[0])
print(userName[1])
print(userName[2])
print(userName[3])
print(userName[4])
⑵如果list里面有100这样的元素怎么办??
list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
range(N)--------生成0-N个元素组成的列表。 [0,N) ,左闭右开
range(m,n) ------生成m-n个元素组成的列表
range(0,100,2) -----在[0-99)中,以step=2的间隔生成元素,组成列表。
other = range(100)
print(other)
⑶python2版本才可以测试:
2.循环:Python 的循环有两种,一种是 for…in 循环,依次把 list 或 tuple 中的每个元素迭代出来。
⑴for循环语法:
⑵for 迭代变量 in 对象(序列):循环体
⑶流程图:
3.
4.循环去做:
计算 1-10的整数之和:
sum = 0
for i in range(0, 11):
sum += i
print(“sum=”, sum)
‘’’
解释:
sum = 0+1 -----> sum=1
sum = 1+2 ------> sum = 3
sum = 3+3 -----> sum =6
…
sum = sum+10 -----> sum=55
计算机当中: sum= sum+i
一般写成 sum+=i
‘’’
5.⑴计算1-100的整数之和。
sum = 0
for i in range(1, 101):
sum += i
print(“sum=”, sum)
⑵计算1-100的偶数之和。
sum = 0
for i in range(0, 101,2):
sum += i
print(“sum=”, sum)
⑶计算1-100的奇数之和。
sum = 0
for i in range(1, 101,2):
sum += i
print(“sum=”, sum)
6.while 循环:
⑴语法:
while 条件表达式:
循环体
⑵流程图:
⑶第二种循环是 while 循环,只要条件满足,就不断循环,条件不满足时退出循环。
比如我们要计算 100 以内所有奇数之和,可以用 while 循环实现:
计算 100 以内所有奇数之和
sum = 0
n = 99
while n > 0:
sum = sum + n
n = n - 2
print sum
在循环内部变量 n 不断自减,直到变为-1 时,不再满足 while 条件,循环退出。
7.continue语句会立即跳到循环的顶端,即跳过本次循环,执行下一次循环
8.break 语句会立即离开循环
9.打印输出(循环):
(1)
*
**
提示: \n ----表示换行
‘ ’-----表示输出空格
(2)
*
**
七、2019.04.23.
1.#!/usr/bin/env python
‘’’
@author:MT
@file: 0423.py
@time: 2019/4/23 8:54
‘’’
4.# 缩进符号很重要
‘’’
⑴如果全篇(就是python代码)没有缩进“tab”,那说明没有for while if else eilf 等条件(流程)控制语句和循环控制语句。
‘’’
6.# print("-------猜数字游戏-------")
7.# for i in range(5):
#定义好字典 {键:值,键:值}键:值,以逗号分隔
d = {“zhangsan”: 89, “lisi”: 90, “wangwu”: 78}
print(d)
print(d[“zhangsan”]) # 取字典里面的某个值
#改变字典当中的值
⑴#方式一
d[“zhangsan”]=99
print(d[“zhangsan”])
#如果键不存在于字典当中会报错。
⑵#判断键是否存在于字典当中
print("----:",d.get(“lisi1”))
#删除字典当中的wangwu元素
d.pop(“wangwu”)
print(d)
print(d[“zhangsan”])
print(d[“zhangsan”])
print(d[“lisi”])
9.# 循环打印字典
d1 = {“zhangsan”: 89, “lisi”: 90, “wangwu”: 78}
for i in d1: # i 表示的是字典当中的键, d[i]—字典当中的值
print("—",i,d1[i])
10.# 总结,和list相比,dict的优缺点
‘’’
1.查找和插入的速度快,不会随着key的增加而增加
2.需要占用大量内存,内存浪费。
‘’’
‘’’
⑴查找和插入的时间,随着元素的增加而增加
⑵占用空间小,浪费内存小。
‘’’
11.#dict的注意事项
‘’’
⑴字典当中的key是不可变对象,唯一,不能重复
⑵通过key计算位置的算法(字典),我们称为: 哈希算法
‘’’
⑶dic1 = {“zhangsan”:[180,87,98]}
#如何取87
l = dic1[“zhangsan”]
l[1]
print(dic1[“zhangsan”][1])
⑷dic2 = {‘lisi’:{“爱好”:[1,2,3],“score”:98}}
#如何取3
a = dic2[‘lisi’][“爱好”][2]
print(a)