随着人工智能领域的翻起,Python语言越来越流行。所以当下不得不学习Python语言。在学习Python的过程中整理了一些笔记,希望能够帮助到大家。
人生苦短,我用Python
不得不说,Python代码真的很简短,有的时候,Java程序的代码量是Python代码量的5倍。下面就来认识一下Python。
1. Python的优缺点
优点:
- 简单、易学
- 免费、开源
- 面向对象
- 丰富的库
- 可扩展性
- 如果需要一段关键代码运行的更快或者希望某些算法不公开,可以把这部分程序用c或者C++编写,然后在Python程序中使用它们。
缺点:
- 运行速度慢
- 国内市场较小
- 中文资料匮乏
2. Python的特点
- Python是完全面向对象的语言
- 函数、模块、数字、字符串都是对象、在Python中一切皆对象。
- 完全支持继承、重载、多重继承。
- 支持重载运算符、也支持泛型设计。
- Python拥有一个强大的标准库、Python语言的核心只包含数字、字符串、列表、字典、文件等常见类型和函数,而由Python标准库提供了系统管理、网络通信、文本处理、数据库接口、图形系统、XML处理等额外的功能。
- Python社区提供了大量的第三方模块,使用方式与标准库类似。它们的功能覆盖科学计算、人工智能、机器学习、web开发、数据库接口、图形系统多个领域。
在此补充一下:面向对象的思维方式
- 面向对象是一种思维方式,也是一门程序设计技术。
- 要解决一个问题前,首先考虑由谁来做,怎么做是谁的职责,最后把事情做好就行。(对象就是谁)
-要解决复杂的问题,就可以找多个不同的对象,各司其职,共同实现,最终完成需求。
3. 编译型和解释型
1.编译型语言:统一执行,程序执行效率高,跨平台性差,如C、C++,Java
2.解释型语言:会将代码一句一句执行。速度慢,但跨平台性好。Python
4. Python的主流版本——Python2.X , python3.X
python2.X不支持中文
建议:使用Python3.x
5.执行Python程序的三种方式
-
通过解释器运行Python文件
Python xxx.py ----使用的是Python2
python3 xxx.py------使用的是Python3 -
.交互式运行Python程序
直接在终端中运行解释器,而不输入要执行的文件名,在Python的shell中直接输入Python的代码,会立即看到程序执行结果。优点:
适合于学习/验证Python语法或者局部代码
缺点:
代码不能保存
不适合运行太大的程序。退出解释器:直接输入 exit(),或者Ctrl+d
**给大家推荐一款交互式解释器-----ipython** i代表交互interaction 支持自动补全 自动缩进 支持bash shell命令 (意思是可以直接写Linux命令) 内置了许多很有用的功能和函数 ipython是基于BSD开源的 版本: Python 2.x使用的解释器是ipython python 3.x使用的解释器是ipython3 要退出解释器可以有一下两种方式: 直接输入exit或者使用Ctrl+d,ipython会询问是否退出解释器。
-
Python的IDE————PyCharm
- 集成开发环境(IDE):集成了开发软件需要的所有工具,一般包括以下工具:
图形用户界面
代码编辑器(支持代码补全,自动缩进)
编译器/解释器
调试器(断点,单步执行)(设置断点:点击代码左侧会出现一个圆点,则为断点) - pycharm
适合开发大型项目
一个项目通常会包含很多源文件,每个源文件各司其职,共同完成复杂的业务功能 - PyCharm的使用
- 在新建一个项目时,即创建一个目录,会在目录下新建一个.idea的目录,用于保存项目相关的信息,例如:解释器版本、项目包含的文件等。第一个运行Python文件时要右键文件-点击run xxx.py - 设置项目使用的解释器版本:
File-settings…-Project:当前项目名-Project Interpreter - 设置字体
编辑区:File-settings…-Editor-Font(字体和大小)
控制台:File-settings…-Editor-Console Font
6. 模块
模块是Python程序架构的一个核心概念
模块就像是工具包,要想使用,就需要import导入这个模块,
每一个以扩展名.py结尾的Python源代码文件都是一个模块。
在模块中定义的全局变量,函数都是模块能够提供给外界直接使用的工具。
使用格式:
import 模块名
from 模块名 import 函数名
import 模块名 as 新模块名(缩写)
7. Python注释
-
使用 # 单行注释
为了保证代码的可读性,# 后面建议先添加一个空格,然后再编写相应的说明文字 -
多行注释
使用一对连续三个引号(单引号,双引号都可以)'''......''' """......"""
*注意???什么时候需要使用注释???
- .注释不是越多越好,对于一目了然的代码,不需要添加注释。
- .对于复杂的操作,应该在操作开始前写上若干行注释。
- .对于不是一目了然的代码,应在其行尾添加注释(为了提高可读性,注释应该至少离开代码2个空格)
- 绝不要描述代码,假设阅读代码的人比你更懂Python,他只是不知道你的代码
要做什么。
8. 代码规范
代码的缩进为一个tab键或者4个空格,建议使用空格
在Python开发中,Tab和空格不要混用。
Python官方提供有一系列PEP(python Enhancement Proposals)文档
其中第8篇文档专门针对Python的代码格式给出了建议,也就是PEP8
中文文档链接
https://zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/python_style_rules/
9. Python中的标识符
就是程序员定义的变量名、函数名
标识符可以由字母,下划线,数字组成
不能以数字开头
不能与关键字重名
标识符对大小写敏感
关键字即保留字
关键字就是在Python内部已经使用的标识符
关键字具有特殊的功能和含义
开发者不允许定义和关键字相同的名字的标识符
查看Python中的关键字:
>>> import keyword
>>> keyword.kwlist
Python中的关键字
10. 变量——用来存储数据
每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
= 表示用来给变量赋值
a = 10:等号左边a表示变量名,等号右边表示存储在变量中的值。
即:变量名 = 值
**变量的命名**
一般情况下在 = 等号的左右保留一个空格
每个单词都是使用小写字母
单词与单词之间使用_下划线连接
例如:first_name
驼峰命名法:
小驼峰式命名:
第一个单词小写,后续单词的首字母大写
firstName
大驼峰式命名:
每一个单词的首字母都应该采用大写字母
FirstName
11. Python中常用的算术运算符
12. Python常用的比较运算符
牛刀小试:
a = 21
b = 10
c = 0
if ( a == b ):
print ("1 - a 等于 b")
else:
print ("1 - a 不等于 b")
if ( a != b ):
print ("2 - a 不等于 b")
else:
print ("2 - a 等于 b")
if ( a < b ):
print ("3 - a 小于 b")
else:
print ("3 - a 大于等于 b")
if ( a > b ):
print ("4 - a 大于 b")
else:
print ("4 - a 小于等于 b")
13. 数据类型
两大类:
- 数字类型
- bool----布尔(真假)(True 1,False 0)
- int-----整数
- float—浮点数(小数) - 非数字类型
- 字符串—str
- 列表—list
- 元组—tuple
- 字典
注意:
在Python中定义变量时不需要指定类型,Python可以根据 = 等号右侧的值,自动推导出变量中存储数据的类型。
14. 简单的函数——input() , print() , type()
input : 从控制台输入,返回的是str类型
print() : 打印到控制台
type() : 函数是用来查看变量的类型。
牛刀小试
#1.输入苹果的单价
price_str = input("苹果的单价")
#2.输入苹果的重量
weight_str = input("苹果的重量")
#3.转换数据类型
price = float(price_str)
weight = float(weight_str)
#4.计算总价
money = price * weight
print(money)
注意:input返回的是字符串,所以需要数据类型转换
15. 变量的格式化输出
如果希望输出文字信息的同时,一起输出数据,就需要使用到格式化操作符——%
牛刀小试
#格式化示例:
name = "小曾"
print("我的名字叫%s,请多多关照!" %name)
id = 1 #输出000001
print("我的学号是%06d"%id)#如果不满6位则前面使用0补全
price = 8.5
weight = 7.5
money = price * weight
print("单价%.2f元/斤,购买了%.3f斤,需要支付%.4f元"%(price,weight,money))
%.2f表示小数点后面保留两位
定义一个小数,输出数据比例是20.00%,保留两位
scale = 0.20
print("数据比例是%.2f%%"%(scale * 100))