python笔记(一)

作者: 辛小二 | 来源:发表于2018-04-10 16:20 被阅读33次

目录

一、环境配置&编译器下载

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")

持续更新中~ 辛小二~

相关文章

网友评论

    本文标题:python笔记(一)

    本文链接:https://www.haomeiwen.com/subject/khtnhftx.html