目录
一、环境配置&编译器下载
1、windows环境下下载python流程
2、linux环境下下载python流程
二、知识点总结
1、cmd常用命令语句
2、Python的数和字符串
3、Python的数据类型
4、python 的对象
5、python 的行与缩进
6、python 的运算符
7、python 的运算符优先级(从上至下 排列)
8、Python的控制流
9、Python的函数
10、Python的模块
11、Python 字节编译
12、Python from …..import详解
13、Python 认识 __name__ 属性
14、Python 自定义模块
15、Python dir() 函数
16、Python 数据结构
正文
1、windows环境下下载python流程
window环境下载python流程
2、linux环境下下载python流程
linux 环境下载python流程
3、python官网编译器下载地址
python官网编译器下载地址
备注:请下载正确的编译器,下载之前请核对好电脑的操作系统(64&32位 等信息 以免出错)
1、cmd常用命令语句
1、如果输出 print ("123")
2、如何退出编辑模式 输入 exit() 新版本 ,或者 ctrl + d 老版本
3、如何编译多条 命令 command+n 编写多条语句 然后按 F5 编辑完毕
4、如何在cmd 模式下 & 终端模式下运行 本地.py文件,终端 输入 python tempPython.py 即可~
2、Python的数和字符串
数的类型(整型 int 长整型 long 浮点型 float 布尔型 bool 复数型 complex)
复数型:4+2j. 5+6j
Python 中存在三种引号 (单引号 双引号 三引号) 双引号中可以使用单引号 反之不可以 三引号 主要是能让 字符串换行~
三引号eg:
c4 = ''' wo
qu
ma
'''
print (c4)
转译符: \’ 可以在单引号输出时 忽略掉\后面的’
如何保留 转译符号 在输出语句之前添加r 。 eg:print (r'it \'is a dog')
重复运算符: print ("hello ni "*20). 输出语句*20
字符串通过索引输出eg:
c1 = "nsasabi"
c2 = c1[0]
c2 = c1[:4]
c2 = c1[4:]
c4 = c1[4:7]
print (c4)
3、Python的数据类型
基本数据类型 : 数 & 字符串
列表: 等同于数组~ (1、有序 2、 可以替换)
eg:
student = ["小王","小李","校长","爱心"]
print (student[2])
student[2] = "nimao"
print (student)
元组: (1、有序 2、 不可以替换)
eg:
nima = ("haha","hehe","xixi","qinqin","emem")
print (nima[1])
集合:
eg:
a = set("abcdefg")
b = set("scdfvg")
#交集
x = a&b
print (x)
#并集
y = a|b
print (y)
#差集
z = a-b
print (z)
#去除重复的元素
new = set(a)
print (new)
字典:
eg:
zidian = {'name':'尼','city':'尼哦','country':'个','xing':'新'}
print (zidian)
print (zidian['name'])
zidian['兴趣'] = '开飞机'
print (zidian)
4、python 的对象
1、什么是python的对象 (一切皆对象)
2、详解pickle 腌制 ( 将对象存储在内存&第三方文件中 的过程叫做pickle腌制)
eg:
#导入pickle
import pickle
#dumps(object)将对象序列化
lista = ["nima","nimei","woaini1"]
listb = pickle.dumps(lista)
print (listb)
#loads(string)将对象原样恢复,并且对象类型也恢复为原来的格式
listc = pickle.loads(listb)
print (listc)
#dump(object,file),将对象存错在文件当中序列化
group1= ("baijiu","hongjiu","nimeide1")
f1=file('1.pk1','wb')
pickle.dump(group1,f1,True)
f1.close()
#load(object,file)将dump()存储在文件里面的数据恢复
f2 = file('1.pk1','rb')
t = pickle.load(f2)
print(t)
#print(t)
f2.close()
5、python 的行与缩进
1、了解逻辑行和物理行
物理行:实际看到的行数
逻辑行:几个逻辑就是几个逻辑行
2、行中分号的使用规则
分号用来区别逻辑行的逻辑~如果逻辑行在物理行的末尾则可以省略分号~
3、行连接——> \可以帮助行连接
eg:
print ("你妹\
的")
4、什么是缩进?————>逻辑行的行首一般情况下是不能留白的 (if while 判断语句除外)
eg:
import sys
a = -1
if a>0:
print ("hello")
else:
print ("小于0了")
6、python 的运算符
& | ^ 按位与运算 所谓的按位与 是指一个数字转化为二进制 然后这些二进制的数按位来运算
eg:
7 & 18
7转化二进制 00000111
18转化为二进制 00010010
对齐进行比较 &运算是有0就是0 除非都是1 那才是1 结果就是 00000010 转化为十进制就是 2
7 | 18
7转化二进制 00000111
18转化为二进制 00010010
对齐进行比较 | 运算是全是0才是0 有1 就为1 结果就是00010111 转化为十进制就是 23
7^18
7转化二进制 00000111
18转化为二进制 00010010
对齐进行比较 ^ 不同为 1 相同为 0 结果是 00010101 转化为十进制就是 21
~ 符号代表 按位翻转
公式: ~x = -(x+1)
~18 = -(18+1)= -19
a = ~18
print (a)
<< 代表左移动
左移 就表示 二进制 数字整体 向左移动一个单位(规律: 左移n个单位 相当于 乘2的n次幂 )
eg: a = 18<<1
# 18* 2 * 1 = 36
>>代表右移动
左移 就表示 二进制 数字整体 向左移动一个单位(规律: 左移n个单位 相当于 除以2的n次幂 取商~)
eg: a = 18>>1
# 18/2 *1 = 9
7、python 的运算符优先级(从上至下 排列)
1、函数调用 、 寻址、 下标
2、幂运算 **
3、翻转运算 ~
4、正负号
5、* 、 / 、%
6、+、-
7、<<、>>
8、&、|、^
9、比较运算符 <、>
10、逻辑运算符 not 、 and 、 or
11、lambda 表达式
8、Python的控制流
1、python的三种控制流
顺序结构 、 分支结构 、 循环结构
2、if 语句
3、while语句
eg:
a = 7
while a :
print ("hello")
a = a -1
4、for 语句
eg: for k in range(1,4):
i = 0
print (i)
i= i+1
print (i)
5、break语句(强制跳出循环)
6、continue语句(跳出当前循环)
9、Python的函数
eg:
#字符串长度
a = "hello world"
print (len(a))
#字符串分割
b = a.split("o")
print (b)
#自定义函数
def a():
print ("hello");print (777)
a()
10、Python的模块
>>> import math 导入math模块
>>> math.pi 输出pi (3.1415926)
>>> import sys
>>> sys.version
'3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 05:52:31) \n[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)]'
>>> sys.executable
'/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6'
>>> sys.modules.keys
<built-in method keys of dict object at 0x10ff2e048>
>>> sys.modules.keys()
11、Python 字节编译
字节编译: 把模块编译为而精致与言承旭的这个过程叫做字节编译
.pyc文件是什么?: .pyc 文件就是经过编译后的模块对应的二进制文件
运行一个模块的顺序: 先运行.py文件 然后生成对应的.pyc文件 然后运行.pyc文件(二进制文件) .pyc文件生成是在import *** 的时候就已经产生了~
.pyc文件的最大作用: 加快了模块的运行速度。
12、Python from …..import详解
>>> from sys import version
>>> version
'3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 05:52:31) \n[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)]'
备注:即导入了sys模块 也 导入了version的方法 比sys.version简单、
>>> from sys import*
>>> version
'3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 05:52:31) \n[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)]'
>>> executable
'/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6'
备注: from *** import* 这个命令 可以讲 *** 模块当中的所有方法都导入 ~这样更为快捷。
13、Python 认识 __name__ 属性
什么是主模块?? 被自己调用的就是主模块 反之不是主模块 ~
eg:
if __name__=="__main__":
print("it is a main")
else:
print("it not a main")
备注:如上程序 当你在编译器 F5 run起来的 他就是自己调用自己的 输出为 it is a main 当 你在终端找到这个文件 并编译它时候 import tempPy.py 这样编译时候 输出的就是 it not a main ~
14、Python 自定义模块
生成模块:将python程序保存在电脑自己的目录下 这样就生成了自定义模块(其实就是一个.py文件)
eg:
def add(i,j):
k = i+j
return k
k = add(i,j)
print (k)
15、Python dir() 函数
dir() 函数主要是查看 你想查看模块的所有方法(这里包括基本数据类型 元组 集合等等)~
eg:
import sys
dir(sys)
16、Python 数据结构
数据结构: 数据的组织方式~(静态的)
算法: 动态的 ~
列表 、 元组、字典、堆、栈 等~
———————————————Python 数据结构——栈 ——————————————
栈: 先进后出 一端开口
堆: 先进先出 两端开口
实现栈功能eg:创建一个模块 代码如下~
#栈的实现
class Stack():
def __init__(st,size):
st.stack=[];
st.size=size;
st.top=-1;
def push(st,content):
if st.Full():
print ("stack is Full")
else:
st.stack.append(content)
st.top= st.top+1
def Full(st):
if st.top == st.size:
return True
else:
return False
def Empty(st):
if st.top == -1:
print ("stack is Empty")
持续更新中~ 辛小二~
网友评论