1. 环境

1.1 Anaconda

抛弃python原生安装方式吧,使用Anaconda才是最省心的。

1.2 Miniconda

Anaconda 太大了,Miniconda才是王道!下载链接:https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/

2.语法

2.1 文件开头前两行

# !/usr/bin/python
# -*- coding: utf-8 -*-

2.2 函数注解(Parameter annotations)

这是python有一种基于语言层面的函数注释方法

def foo()->'这是函数的注解':
pass

2.3 访问控制

python默认都是public的访问权限。如果需要private的权限,只需在方法属性的前面加上两个下划线。

class Foo:
def func_public(self)->'公有方法':
pass
def __func_private(self)->'私有方法':
pass
#公有属性
attribute_public = 10
#私有属性
__attribute_private = 20

2.4 字符串拼接数字

利用 str() 函数

s = 'a' + str(1)  # s = 'a1'

2.5 多维数组

1.利用NumPy生成数值型多维数组

numpy提供了一种优雅的(一行代码)方式:numpy.zeros()

import numpy as np
table = np.zeros((2, 3), dtype=np.float)

生成的数组如下

[[ 0.  0.  0.]
[ 0. 0. 0.]]

2. List Comprehensions

生成一个 3 * 4 的矩阵,内中元素都为 0.

delta =  [[0 for c in range(4)] for r in range(3)]
print(delta)

程序输出

[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]

2.6 遍历

2.6.1 字典

dict = {'first_name': 'Feng', 'last_name': 'Yubo'}
for (k, v) in dict
print('my ' + k + 'is' + v)

2.7 模块

if __name__ == '__main__':
pass

2.8 字符串访问

s = "abcd"
print(a[0:1]) # a
print(a[1:2]) # b
print(a[1:]) # bcd

2.9 对字典进行排序

按key排序

l = sorted(d.items(), key = lambda x:x[0])  # 默认增序
l = sorted(d.items(), key = lambda x:x[0], reverse=True) # 减序

按value排序

l = sorted(d.items(), key = lambda x:x[1])  # 默认增序
l = sorted(d.items(), key = lambda x:x[1], reverse=True) # 减序

3. GUI

3.1 PyQt5

PyQt5 runs on Python3 and Qt5.8

3.1.1 Installing on windows/Linux

不建议使用pip原生安装,推荐使用Anaconda

3.2 Installing on Anaconda

方法1

开始> 所有程序> anaconda> anaconda prompt

pip install SIP
pip install PyQt5

这时我们使用的是 Anaconda 下的 pip

方法2

我们可以直接在cmd下使用 conda install 这条命令

conda install SIP
conda install PyQt5

3.2 Tkinter

优点:

  • 足够简单,一天就能开发出来完整的GUI程序

缺点:

  • 开发文档不易检索
  • 互联网上中文教程和资源较少
  • 遇到有深度的问题不易解决,比如如何设置输入类型控件的默认值都查询不到
  • 控件普遍比较低级

3.2.1 控件

Label

obj = tkinter.Label(self)
obj['text'] = 'text of label'
obj.grid(row=r, column=0)

Entry 输入框

obj = thinter.Entry(self)
obj.grid(row=r, column=1)

Combobox 下拉框

该控件需要导入ttk

import tkinter.ttk
obj = ttk.Combobox(self, values=(1,2,3))
obj = grid(row=r, column=1)

3.2.2 布局

grid

需要在构造方法内执行 self.grid(),该布局模式才能被启用

row : 设置控件所在的行

column : 设置控件所在的列

clomnspan : 设置单元格横向跨越的列数

4. 编码规范

完整变量名或含义 临时变量名
list() l
str() s
tuple() t
a single word w

5. 标准库

collections

This module implements specialized container datatypes providing alternatives to Python’s general purpose built-in containers, dict, list, set, and tuple.

deque

Deques are a generalization of stacks and queues (the name is pronounced “deck” and is short for “double-ended queue”). Deques support thread-safe, memory efficient appends and pops from either side of the deque with approximately the same O(1) performance in either direction.

api : reverse()

>>> from collections import deque
>>> l = ['brown', 'read', 'holy', 'bible']
>>> dq = deque(l)
>>> dq.reverse()
deque(['bible', 'holy', 'read', 'brown'])

math.mean in python3 平均数

def mean(numbers):
return float(sum(numbers)) / max(len(numbers), 1)

Reference : https://stackoverflow.com/questions/7716331/calculating-arithmetic-mean-average-in-python

6. 源

6.1 pypi 源

国内源的地址

名称 地址
阿里云 http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣 http://pypi.douban.com/simple/
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/

使用方法

$ pip3 install {package name} -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

比如,安装 scikit-learn 的命令用例如下

$ pip3 install scikit-learn -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

参考资料

Python3 中文手册

Python语言知识总结的更多相关文章

  1. 【Python五篇慢慢弹(5)】类的继承案例解析,python相关知识延伸

    类的继承案例解析,python相关知识延伸 作者:白宁超 2016年10月10日22:36:57 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给 ...

  2. Python开发【第二篇】:Python基础知识

    Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...

  3. 关于《selenium2自动测试实战--基于Python语言》

    关于本书的类型: 首先在我看来技术书分为两类,一类是“思想”,一类是“操作手册”. 对于思想类的书,一般作者有很多年经验积累,这类书需要细读与品位.高手读了会深有体会,豁然开朗.新手读了不止所云,甚至 ...

  4. 如何系统地自学一门Python 语言(转)

    转自:http://www.phpxs.com/post/4521 零基础情况下,学一门语言充实下自己,Python,简洁.优美.容易使用,是一个很好的选择.那么如何系统地自学Python呢? 有的人 ...

  5. 用python语言讲解数据结构与算法

    写在前面的话:关于数据结构与算法讲解的书籍很多,但是用python语言去实现的不是很多,最近有幸看到一本这样的书籍,由Brad Miller and David Ranum编写的<Problem ...

  6. 《Selenium2自动化测试实战--基于Python语言》 --即将面市

    发展历程: <selenium_webdriver(python)第一版>   将本博客中的这个系列整理为pdf文档,免费. <selenium_webdriver(python)第 ...

  7. python 基础知识(一)

    python 基础知识(一) 一.python发展介绍 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本 ...

  8. 适用于 PHP 开发人员的 Python 基础知识

    Thomas Myer, 负责人, Triple Dog Dare Media 简介: 您是一名经验丰富的 PHP 开发人员,并且希望学习 Python 吗?本文将从 PHP 开发人员的角度来探索 P ...

  9. 动态语言的灵活性是把双刃剑 -- 以Python语言为例

    本文有些零碎,总题来说,包括两个问题:(1)可变对象(最常见的是list dict)被意外修改的问题,(2)对参数(parameter)的检查问题.这两个问题,本质都是因为动态语言(动态类型语言)的特 ...

随机推荐

  1. express-generator 自动生成服务器基本文件

    (1) 安装 express-generator 构建工具 npm install -g express-generator 在命令行中用 npm 在全局安装 express-generator 脚手 ...

  2. QT linux

    一. 如果你是服务器版的CentOS,我建议你安装一下图形界面 1. 首先安装X window: yum groupinstall 'X WindowSystem'2. 然后安装GNOME: yum ...

  3. iOS 新浪微博-5.3 首页微博列表_集成图片浏览器

    实际上,我们可以使用李明杰在教程里集成的MJPhotoBrowser,地址: http://code4app.com/ios/快速集成图片浏览器/525e06116803fa7b0a000001 使用 ...

  4. 解决vmvare关闭过慢

    打开虚拟机文件夹下的.vmx文件,将下面的内容添天加进去,保存prefvmx.minVmMemPct = "100" mainMem.useNamedFile = "FA ...

  5. robot framework自定义python库

    自定义python库的好处: robot framework填表式,将python的灵活性弄没了,但是不要担心,RF早就想到了解决办法,就是扩充自己的库. 1.在python应用程序包目录下创建一个新 ...

  6. unity3d-游戏实战突出重围,第四天 添加角色

    1:添加unity自带的第一人称角色控制器,命名为hreo 2:添加第三人称角色控制器.这里是添加源文件Sources下面的.如箭头指示:而不是“3rd Person Controller”.并命名为 ...

  7. HDU 2276 Kiki & Little Kiki 2(矩阵位运算)

    Kiki & Little Kiki 2 转载自:点这里 [题目链接]Kiki & Little Kiki 2 [题目类型]矩阵位运算 &题意: 一排灯,开关状态已知,每过一秒 ...

  8. EF切EFCore2.0存储过程问题

    在从EF切换成EFCore2.0的过程中,遇到了存储过程的实现问题. 在EF中调用存储过程,非常方便,能够直接将结果转换成对应的结果类. 如代码中的Database.SqlQuery<TElem ...

  9. Intel 80386 微处理器的存储器管理

    一.存储器的管理       存储器的管理是一种硬件机制,微处理器在总线地址上对物理存储器进行寻址.但是,为了给程序提供比物理存储器容量更大的空间,就引入了虚拟存储器的概念,它在外存(比如磁盘)的支持 ...

  10. 关于django编码问题所导致的502错误

    在使用django开发的时候,访问网站出现了502错误,次数也比较平繁 uwsgi+nginx+django 在命令行下提示如下错误 : File "/opt/apps/python3/li ...