Python基础常识
基础知识
了解计算机硬件
CPU
- 多核,核心频率(X86、Arm)
内存
- 数据,载入内存可以修改
- 指令,载入内存可以跳转
GPU
- 深度学习训练数据
- 大型游戏
存储
U盘
硬盘(固态、非固态)
光盘
输入输出设备
- 输入设备(鼠标、键盘)
- 输出设备(摄像头、显示器、打印机)
通信设备
- 网卡(无线网卡、有线网卡、蓝牙)
了解计算机软件
系统软件
- Android
- iOS
- Windows
- Linux
- Unix
- MacOS
应用软件
- weixin
- office
编程语言编年史
机器语言与汇编语言
- 适合导弹控制
快速开发,C语言
- 编译
- 运行
解释性语言
- java
- python
- 解释并运行
语音类型
- 100000 000001 000001 机器语言
- ADD 1 2 汇编语言
- 1+1 高级语言
- 解释器(编译,执行)
- .c 编译 exe 执行
学习方法
- 用到才能记忆深刻
- 大量练习写代码
- 养成良好的精确思维方式
- 结网,不断练习
代码编程
理解什么是IDE
- VScode
- pycharm
- subtext
理解python-helloworld
“”
用于单行字符串''''''
用于多行字符串
python简单数学表达式
+、-、*、/、()
1 |
|
理解注释
- 单行注释
#
- 多行注释用
''''''
理解系统自带模块
os主要用于操作系统
1 |
|
turtle用于绘图
1 |
|
常见代码错误
逻辑错误
python
严格区分大小写print(5//2) #/ 精确除法, //整除
语法错误
- python代码需要严格对齐
print("hello world) #SyntaxError 语法错误,少写双引号
运行错误
print(5/0) #ZeroDivisionError: division by zero 运行错误
输入错误
- python不接受中文字符输入
python软件工程规范
以动手实践为荣 , 以只看不练为耻;
以打印日志为荣 , 以单步跟踪为耻;
以空格缩进为荣 , 以制表缩进为耻;
以单元测试为荣 , 以人工测试为耻;
以模块复用为荣 , 以复制粘贴为耻;
以多态应用为荣 , 以分支判断为耻;
以Pythonic为荣 , 以冗余拖沓为耻;
以总结分享为荣 , 以跪求其解为耻。
python程序运行方式
交互式执行
脚本运行
- python3代码文件编码必须是UTF-8
python相关常识
python发展史
Python2.x->python3.x->诞生于1989
python成功案例
Python
经常被用于Web开发。 比如,通过mod_wsgi
模块,Apache
可以运行用Python
编写的Web程序。Python
定义 了WSGI
标准应用接口来协调Http
服务器与基于Python
的Web程序之间的通信。
一些Web
框架,如Django、TurboGears、web2py、Zope
等,可以让程序员轻松地开发和管理复杂的Web程序。
在很多操作系统里,Python
是标准的系统组件。 大多数Linux
发行版以及NetBSD
、OpenBSD
和Mac OS X
都集成了Python
,可以在终端下直接运行Python
。有一些Linux
发行版的安装器使用Python
语言编写,比如Ubuntu
的Ubiquity
安装器,Red Hat Linux
和Fedora
的Anaconda
安装器。Gentoo Linux
使用Python
来编写它的Portag e
包管理系统。Python
标准库包含了多个调用操作系统功能的库。通过pywin32
这个第三方软件包,Python
能够访问Windows
的COM
服务及其它Windows API
。使用IronPython
,Python
程序能够直接调用.Net Framework
。一般说来,Python
编写的系统管理脚本在可读性、性能、代码重用度、扩展性几方面都优于普通的shell
脚本。
NumPy、SciPy、Matplotlib
可以让Python
程序员编写科学计算程序。
PyQt、PySide、wxPython、PyGTK
是Python
快速开发桌面应用程序的利器。
Python
对于各种网络协议的支持很完善,因此经常被用于编写服务器软件、网络爬虫。第三方库Twisted
支持异步网络编程和多数标准的网络协议(包含客户端和服务器),并且提供了多种工具,被广泛用于编写高性能的服务器软件。
很多游戏使用C++
编写图形显示等高性能模块,而使用Python
或者Lua
编写游戏的逻辑、服务器。相较于Python
,Lua
的功能更简单、体积更小;而Python
则支持更多的特性和数据类型。 YouTube、Google、Yahoo!、NASA
都在内部大量地使用Python
。OLPC
的操作系统Sugar
项目的大多数软件都是使用Python
编写。
python优点与缺点
优点
- 简单:Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格!Python的这种伪代码本质是它最大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身。
- 易学:就如同你即将看到的一样,Python极其容易上手。前面已经提到了,Python有极其简单的语法。
- 免费、开源:Python是FLOSS(自由/开放源码软件)之一。简单地说,你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。
FLOSS
是基于一个团体分享知识的概念。这是为什么Python如此优秀的原因之一——它是由一群希望看到一个更加优秀的Python的人创造并经常改进着的。 - 高层语言:当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节。
- 可移植性:由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就可以在下述任何平台上面运行。这些平台包括
Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE甚至还有PocketPC、Symbian
以及Google
基于linux
开发的Android平台! - 解释性:这一点需要一些解释。一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。当你运行你的程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而Python语言写的程序不需要编译成二进制代码。你可以直接从源代码运行程序。在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。事实上,由于你不再需要担心如何编译程序,如何确保连接转载正确的库等等,所有这一切使得使用Python更加简单。由于你只需要把你的Python程序拷贝到另外一台计算机上,它就可以工作了,这也使得你的Python程序更加易于移植。
- 面向对象:Python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。与其他主要的语言如C++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程。
- 可扩展性:如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。
- 可嵌入性:你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。
- 丰富的库:Python标准库确实很庞大。它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。记住,只要安装了Python,所有这些功能都是可用的。这被称作Python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。
- 概括:Python确实是一种十分精彩又强大的语言。它合理地结合了高性能与使得编写程序简单有趣的特色。
- 规范的代码:Python采用强制缩进的方式使得代码具有极佳的可读性。
缺点
- 运行速度,有速度要求的话,用C++改写关键部分吧。
- 中文资料匮乏(好的python中文资料屈指可数)。
- 托社区的福,有几本优秀的教材已经被翻译了,但入门级教材多,高级内容还是只能看英语版。
- 构架选择太多(没有像C#这样的官方.net构架,也没有像ruby由于历史较短,构架开发的相对集中。RubyonRails构架开发中小型web程序天下无敌)。不过这也从另一个侧面说明,python比较优秀,吸引的人才多,项目也多。
本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!