认识Python
基本逻辑:环境搭建、命令语句、数据结构、函数、文件系统、debug
概述
基本概念
python是由C语言实现的语言,能调用C库。具备类、函数、异常处理,包括表和词典在内的核心数据类型。
1991年,第一个python解释器就诞生了。python X.X指的就是解释器版本,注意一些程序无法向下兼容。
python是一种解释型语言:
- python不存在编译过程,他是直接解释命令代码的脚本语言
- 广泛的标准库是近年发展迅速的核心原因
- 可嵌入使得可以应用在硬件中
python也是存在缺点的,解释性语言无法加密,发布程序就是公布源代码,而C语言举例来说,是把编译后的机器码发布的(编译实质),所以无法反向反推。同时,超大型场景不能使用(不推荐使用)python,其速度太慢,严重影响性能。
- 其实不能加密在高校科研中这样的marginal contribution反而是优势,所以说:
开源!开源!开源!
应用场景
应用的领域很广也很专一:
- 游戏业务层:写游戏的逻辑、服务器部分(当然图形显示的高性能模块是C++)
- 桌面应用:不解释
- 自动化脚本:自动化测试、服务器运维
- web开发:facebook、youtube的框架都是python做的(web2py、Django框架搭建)
- 科学计算:统计、分析
- 服务器软件:可以写协议解析、爬虫
应用的方向:
- 数据分析:清洗去重、规格化和针对性分析
- 人工智能:机器学习、神经网络
- 爬虫:大数据获取数据的核心工具(例如Scrapy)
- 科学计算:直接生产高质量图像
- 软件WEB开发
安装环境
跨平台:各种系统随便跑
版本:3.X和2.X
好现在假设装好了
不要用命令提示符(很智障),用集成式开发环境pycharm,初学者避开噩梦核心步骤
- 小提示:灵活使用open folder as pycharm project
首个程序
python就是一个解释器,exe文件,所以没有什么快捷方式啦
cmd编写
第一个程序还是用CMD表达,现在假设已经hello world搞完了。
- 现在说明如何执行.py文件:先进去文件目录地址,再用
python
+ 文件名解决
pycharm编写
pycharm项目类型说明,新建项目有几个不同的框架,选择不同的框架会事先导入相应的环境包
- pure python即可
建立一个严谨规范的workspace,create
- 新建文件不用后缀
注释:可以用#
作为单行注释也可以三个引号''' '''
作为多行注释
变量及类型
- 变量可以是任意的数据类型,在程序中用变量名表示
- 变量名必须是大小写英文、数字和下划线的组合,不能以数字开头
在赋值
a='ABC'
的时候,python在做什么事在内存中创建ABC字符串
在内存中创建一个名为a的变量,并且将其指向ABC
标识符与关键字
- 关键字
Python中具有特殊功能的提示符,在系统中已经使用了 - 查看关键词
import keyword keyword.kwlist
所以,不要起这些名字的变量名!!!
输出
标准化输出
利用print函数进行普通的输出
- 输出中直接加
\n
那么会直接换行
格式化输出
输出具有规律性的结果时使用,即结构占位符
age = 18 print("我的年龄是:%d 岁"%age)
- 占位符目前就记住%d和%s即可,前者是整数占位,后者是字符串占位
age = 18 print("我的名字是:%s 岁,我的国籍是%s"%("小蒋","中国")) print("我的年龄是:%d 岁"%age)
这里使用了两个占位并列出现的情况,我们使用了元组的方法表示
print加逗号可以一次性输出,在后面通过sep="X"
来控制输出之间的间隔表示
- X=. 此时可以用来作网址
实际上还可以用end=""
来控制
print("ABC",end="")#下一次输出不换行
print("ABC",end="\t")#按tab键
print("ABC",end="\n")#换行(和正常一样)
输入
password=input("请输入密码")#引号是提示内容
print("您刚刚输入的是:",password)
- 判断类别:
type()
函数
利用type函数可以判断input函数的类型,发现是str,所以在使用时候占位符的选择需要注意
运算符
运算符 | 定义 |
---|---|
+ | 加 |
– | 减 |
* | 乘 |
/ | 除 |
% | 取模(返回除法运算的余数) |
** | 幂运算 |
// | 向下(偏小)取整数 |
== | 比较是否相等 |
!= | 是否不等 |
… | … |
重点再提一下赋值运算符
运算符 | 定义 |
---|---|
= | 基本赋值 |
c+=a | c=c+a |
c-=a | c=c-a |
c/=a | c=c/a |
c*=a | c=c*a |
c%=a | c=c%a |
c**=a | c=c**a |
c//=a | c=c//a |
位运算、布尔运算、成员运算、身份运算貌似用不上,不记了
优先级问题和数学规律保持一致