python编程基础
Date: 2019-05-27
Author: Sun
1. 程序
为了完成某种特定功能,以某种程序设计语言编写的有序指令的集合。程序是指挥cpu工作的“工作手册”。计算机只能执行二进制代码,程序设计语言一般类似英文,想要让计算机理解你写的程序,必须把程序代码“翻译”成计算机能理解的二进制代码,根据翻译形式的不同,可以分为:
编译 将程序代码翻译成计算机能理解的二进制目标代码,会生成特定的可执行代码(在window上是exe文件),可执行代码是二进制的,无法看到源代码。然后执行可执行代码就可以得到想要的结果
- c、c++、oc等
解释 将程序代码一句一句翻译为计算机可以执行的指令,立即执行,不会生成可执行文件
- python、php、JavaScript等
2. python简介
Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言,第一个公开发行版发行于1991年。

- python的特点:
- a.是一种解释性语言【开发过程中没有了编译的环节】
- b.是交互式的语言【可以直接互动执行Python程序】
- c.是面向对象的语言
- d.是跨平台语言【可以运行在不同的操作系统上】
- e.适合初学者
- 优点
- 可移植性;可扩展性,可嵌入式;丰富的标准库;支持各种主流数据库;支持GUI编程【图形化编程】
- 缺点
- a.运行速度慢
- b.代码不能加密
- python应用:
- web后端开发
- 网络爬虫
- 人工智能
- 自动化运维
- 网络编程
- 国内:豆瓣、百度、阿里、新浪等都在使用python;国外:Google、FaceBook、YouTube
3. python的开发环境的搭建
3.1 安装python
- Python有两个版本,分别是2.x和3.x,注意:3.x版本不向下兼容2.x
- 现在主流是3.6,我们学习以3.6为主,注意安装的时候,请选择把安装路径加入环境变量
- 如果安装2.7,安装后请手动把安装路径写到环境变量里

3.2 安装集成开发环境pycharm
pycharm集编辑、解释、运行显示为一体,方便代码编写、调试、结果查看。
4. 第一个python程序
4.1 常用的dos命令
cd #进入指定目录
cd.. # 退回到上一级目录
cd ..\.. # 向上退回两级目录
盘符名称: #切换盘符
dir #列出当前文件夹下的所有的子文件夹和文件
cls #清空控制台
exit #退出命令行模式
md 目录名 #创建目录
copy 源路径 目标路径 #拷贝文件
move 源路径 目标路径 #移动文件
rd /s /q 目录或文件 #同时删除文件夹和文件【慎用】
rd 删除指定目录
4.1 交互式
开始->运行->cmd,然后在命令行模式输入python,回车。
- 优点:所见即所得
- 缺点:代码无法保存,下一次执行要重新输入;代码长了,无法维护
- 退出交互模式可以输入exit()
C:\wh1803\1\code>python
Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) [MSC v.1900 64 bit (AMD6
4)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> print('hello world')
hello world
>>>
4.2 使用pycharm
新建一个python文件,后缀必须是py,编写代码:
print('人生苦短')
print('我用python')
4.3 代码执行顺序
从上到下,从左至右
4.4注意事项:
- python文件后缀以py结尾
- 一行一个语句,不用以分号做结尾
- 如果一行上有多个语句,则每个语句必须以分号做结尾
- 文件名尽量不用使用中文,不要包含空格
- 不要随便使用tab键缩进,缩进用于区分代码块
- 除了在引号里(单引号、双引号)中,其它地方不要使用中文,要用英文半角
- python编码规范遵循PEP8(https://www.python.org/dev/peps/pep-0008/)
5.2 PEP8命名规范
代码编排
1. 缩进
每级缩进用4个空格
空格是首选的缩进方法; Tab仅仅在已经使用tab缩进的代码中为了保持一致性而使用。
Python3 中不允许混合使用Tab和空格缩进。
Python2 中包含空格与Tab和空格缩进的应该全部转为空格缩进

- 最大行宽
限制所有行的最大行宽为79个字符。
文本长块,比如文档字符串或注释,行长度应限制为72个字符。
换行可以使用反斜杠,最好使用圆括号。换行点要在操作符的后边敲回车。

- 导入
导入在单独行
- 所有 import 尽量放在文件开头,在 docstring 下面,其他变量定义的上面
- 不要使用 from foo imort *
- import 需要分组,每组之间一个空行,每个分组内的顺序尽量采用字典序,分组顺序是:
标准库, 第三方库, 本项目的 package 和 module
(1) 源文件编码
在核心Python3发布的代码应该总是使用UTF-8(ASCII在Python 2)。
(2) 括号里边避免空格
正确写法
spam(ham[1], {eggs: 2})
错误写法
spam( ham[ 1 ], { eggs: 2 } )
逗号,冒号,分号之前避免空格
推荐: import os
import sys
不推荐: import sys, os
也可以:
from subprocess import Popen, PIPE
- 文档描述
为所有的共有模块、函数、类、方法写docstrings;非共有的没有必要,但是可以写注释(在def的下一行
def function(*args, **kwargs):
'''
this is function called.
'''
pass
上述函数的文档描述获取方法:function.doc
Python PEP8编码规范中文版参考网站:
https://www.cnblogs.com/bymo/p/9567140.html
python编程基础的更多相关文章
- python 编程基础练习 第一天
python 编程基础练习 第一天: 需求: 1.计算2的38次方,180*0.7输出(精度显示正常), x的y次方,数字倒序输出即345876输出678543,方法越多越好. 2.字符串处理: 1) ...
- python编程基础:《http://www.cnblogs.com/wiki-royzhang/category/466416.html》
windows自动化 http://www.cnblogs.com/wiki-royzhang/category/466416.html
- 第2章 Python编程基础知识 第2.1节 简单的Python数据类型、变量赋值及输入输出
第三节 简单的Python数据类型.变量赋值及输入输出 Python是一门解释性语言,它的执行依赖于Python提供的执行环境,前面一章介绍了Python环境安装.WINDOWS系列Python编辑和 ...
- Python编程基础[条件语句if 循环语句 for,while](二)
ython条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: if 判断条件: 执行语句……else: 执行语句…… x= ...
- Python编程基础(一)
1.Python中的变量赋值不需要类型声明 2.等号(=)用来给变量赋值 3.字符串拼接用 “+” 号 temp=‘123’ print('temp的值是%s'%temp) #整数和字符创的转换, ...
- 1.Python编程基础
1. 其实,程序指的就是一系列指令,用来告诉计算机做什么,而编写程序的关键在于,我们需要用计算机可以理解的语言来提供这些指令. 虽然借助 Siri(Apple).Google Now(Android) ...
- Python编程基础(一)编程语言是什么?编译型语言和解释型语言的区别|Python是什么?
编程语言是什么? 其实,程序指的就是一系列指令,用来告诉计算机做什么,而编写程序的关键在于,我们需要用计算机可以理解的语言来提供这些指令. 虽然借助 Siri(Apple).Google Now(An ...
- Python编程基础[函数和面向对象](三)
Python 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也 ...
- python编程基础之三十
时间模块: 时间戳:就是当前是键距离1970年1月1日0:0:0的秒数,后面还带小数,可以说是非常精确 时间的表示形式: a.以整数或者浮点数表示一个以秒为单位的时间间隔,这个时间的基础值1970.1 ...
随机推荐
- Android Finalizing a Cursor that has not been deactivated or closed
问题描述: 使用Sqlite数据库时,有时候会报下面的异常: Finalizing a Cursor that has not been deactivated or closed 一个光标没有被停用 ...
- mvel2.0语法指南
虽然mvel吸收了大量的java语法,但作为一个表达式语言,还是有着很多重要的不同之处,以达到更高的效率,比如:mvel像正则表达式一样,有直接支持集合.数组和字符串匹配的操作符. 除了表达式语言外, ...
- elasticsearch集群安全重启节点
es2.x 关闭集群的动态分片:(动态分片开启状态如果节点宕机了,会导致集群重新分配数据进行数据转移,会导致节点直接大量传输数据)curl -XPUT 'http://192.168.248.193: ...
- Java并发--安全发布对象
单例模式 懒汉模式:多线程非线程安全,在多线程中,可能会产生多个对象 饿汉模式:线程安全. 类加载的时候初始化,不推荐在构造函数需要做耗时操作的时候使用,因为可能导致类加载缓慢,而且可能初始化后并没有 ...
- CF949B A Leapfrog in the Array 思维题,推理
题意: Dima是一名初级程序员. 在他的工作中,他经常不断地重复以下操作:从数组中删除每个第二个元素. 有一天,他对这个问题的解决方案感到厌倦,他提出了以下华丽的算法. 假设有一长度为2n的数组,最 ...
- Pyhton学习——Day4
'''y=2*x+1x=3y->7x=3y->7'''# def test(x):# '''# 2*x+1# :param x:整形数字# :return: 返回计算结果# '''# y= ...
- node——含有异步函数的函数封装
在写代码时我们会发现有大量的重复代码,为了使代码更加简洁,我们可以将重复的代码封装为一个可以在多个部分时候用的函数. 之前写的新闻代码中,经常出现的操作有对文件的读取,我们可以将它封装为一个函数rea ...
- [Atcoder Code Festival 2017 Qual B Problem F]Largest Smallest Cyclic Shift
题目大意:给你\(A\)个a,\(B\)个b,\(C\)个c,要你构造一个字符串,使它的最小循环表示法最大.求这个表示法.解题思路:不知道怎么证,但把a.b.c当做单独的字符串扔进容器,每次把字典序最 ...
- 洛谷P1004 方格取数
网络流大法吼 不想用DP的我选择了用网络流-- 建模方法: 从源点向(1,1)连一条容量为2(走两次),费用为0的边 从(n,n)向汇点连一条容量为2,费用为0的边 每个方格向右边和下边的方格连一条容 ...
- 2015 Multi-University Training Contest 3 hdu 5318 The Goddess Of The Moon
The Goddess Of The Moon Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/ ...