第一章 Python入门
一、 语言
计算机语言:人和计算机之间沟通的语言
计算机语言:
按照级别分类:(越高级月进阶人类)
机器语言:
汇编语言: 助记符 ag. add 2 3
高级语言: c, PHP, java , .net
二、 语言的执行方式
编译执行: 源文件,在执行时会被编译成二进制文件(文件里只有0和1)
优点:在没有修改的的情况下,只修改一次,因此运行速度快
缺点:可移植性插差。底层连接紧密,因此二进制文件移植到其他操作系统不能运行。
场合:底层开发,不做底层修改,使用编译语言。(C\C++)
解释执行: 只有源文件,少了编译的而过程,使用解释器(IDE)去执行
优点: 可移植性好,只需要在不同操作系统安装对应的解释器
缺点: 速度慢。没执行一次,就需要编译一次,所以运行速度慢
场合: 做系统级(不同系统)、web对外开发 (Python, JavaScript)
编译&解释: Java神器
三、Python语言介绍
1. 发展史
龟叔,荷兰人,曾经开发ABC语言,但是由于不开源失败。
于1989年决定写一门语言,避免ABC错误,开源语言并升级
兴起的原因:
1. torch开发了python版本;
2. google期初论文基于python;
2. Python版本
2.x --- 知道2.7版本截止;
3.x --- (进行了规范化、简洁化)
3. Python的特点
a. 语法简洁;
b. 既面向过程也面向对象(同PHP)
c. 可扩展性(可以使用其他语言) --- 几乎每个语言都有这个功能
d. 解释执行,跨平台
e. 强大的库和第三方库
4. 应用方向
(1) web开发
(2) 网络爬虫
(3) 游戏编程
(4) 人工智能,数据分析、科学计算
5. python缺点
(1) 速度慢 --- 翻译复杂 --- 但是具体看需求
(2) 不可加密 --- 不能封装成exe类似文件
四、 开发环境,环境变量
即,操作系统中特殊的信息。不同环境变量有不同的名字。
设置方法:
a. 窗口设置(永久性)
> 用户变量适用于当前账户,系统变量适用于所有账户
> % *** % 为引用其他变量
eg1.我的anaconda路径
C:\ProgramData\Anaconda3;
C:\ProgramData\Anaconda3\Scripts;
C:\ProgramData\Anaconda3\Library\bin
b. 使用cmd命令(临时,仅限cmd窗口有效。)
set path = %修改内容%
Tip: 退出python环境的命令,exit()
五、 Python的执行
1. 分类
交互模式:每输入一个命令,输出结果
脚本模式:在磁盘中建立脚本文件(.py),执行时通过<cd到脚本文件路径+脚本文件名>
> 这两种模式对应的变量生命周期不同,脚本将py文件执行完才清空内存,而交互模式为一行一行的执行。
2. 区别:
交互模式相当于一行一行输入原代码,每输入一行,执行一次;
脚本模式是一次性把脚本全部执行,不进行交互
六、 Python 基础知识
1. 变量
--- 使用特定的名绑定特定的值,相当于给值贴标签。(即指向模式)
2. 存储结构 ********** 附图 ***********
(1) 内存中创建一个变量'ABC';
(2) 内存中创建一个变量名a
(3) 变量名指向变量值
3. 多变量指向同一变量值
<Python基于内存管理机制>不可变类型,数值类型、字符串、字节不占用相同内存
> 可以使用id()函数验证
4. 修改变量的绑定
> 第一次赋值相当于定义变量
> 第二次赋值相当于修改变量名的指向修改,因此对变量值的类型不限制
5. 变量名(标识符)的命名规则
(1) 支持数字、字母和下划线,但是不能以数字开头
(2) 变量在使用之前必须赋值,只有赋值才会创建变量名
(3) 鸭子类型,即变量没有类型,可以使用同一变量名绑定多种类型的变量值。
6. 动态语言和静态语言
区别: 给变量赋值或者定义是否需要指明变量类型,即变量类型是否固定
7. 强类型语言和弱类型语言
强力型语言: 一旦一个变量被指定了某一个数据类型,如果不强制转换,永远是这种数据类型
弱类型语言:
可以根据情况自动更改变量类型
--- Python是动态强类型语言
PHP是动态弱类型语言
C\C++是静态强类型语言
eg2.
# Python
a = 'ABC'
print(a+2)
# PHP
¥ a = 'ABC'
$ b = a + 1
8. 变量值的交换 --- 平行赋值
a ,b = b, a (相当于用temp进行了交换)
a,b,c = 1,2,3 --- 特殊类型元组,不是平行赋值
9. 变量的销毁(垃圾回收,自己删除)
格式: del 变量名
> 一般不需要删除多余变量,变量值得删除需要依赖内存管理机制,变量名可以依靠del命令和垃圾回收
> del命令删除的是变量名
10. 常量 --- 不能改变的变量
(1) 普通变量 定义: 用大写字母、数字组合来命名(约定成俗的开发规范)
(2) None --- python内置常量,表示变量内置值的缺失,即变量名没有指向内容
注意: 和空串''不是一个概念,空串是有指向的,只是没有内容,类型为str
11. 输入输出
(1)输出: print(*values, sep = '\空格', end = '\n', file, flush)
#######此处需完善#######
(2)输出 input(字符串)_
> 以字符串格式,返回输入值
> 阻塞函数
(3)输入 raw_input()
随便输都是字符串,而input()必须按照Python的规则来,即字母必须加引号。
12. 注释
(1) 单行注释 #
从#到当前行结束的部分,不会被python解释器解析
(2) 特殊注释(经过Python解释器)
a. 指定设置pthon解释器的位置
#!/user/bin/python3
b. 设置文件的编码集
#-*-coding:UTF-8-*- , python3默认utf-8
13. 标识符
变量名、类名、方法名、函数名
命名规则:
a. 字符、数字、下划线,不能以数字开头
b. 不能是关键字
c. 区分大小写
d. 一般不以@ ¥ *等命名,易混淆
14. 关键字
import keyword
keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
第一章 Python入门的更多相关文章
- Python之旅_第一章Python入门
一.编程语言分类 1.机器语言:即计算机能听懂的二进制语言,0000 0001,直接操控硬件: 2.汇编语言:简写的英文标识符代替二进制语言,本质同样是直接操控硬件: 3.高级语言:用更贴近人类的语言 ...
- 第二章Python入门
第二章 Python入门 2.1.简介 Python是著名的"龟叔"(Guido van Rossum)在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言 Pytho ...
- [Python笔记][第一章Python基础]
2016/1/27学习内容 第一章 Python基础 Python内置函数 见Python内置函数.md del命令 显式删除操作,列表中也可以使用. 基本输入输出 input() 读入进来永远是字符 ...
- Kettle解决方案: 第一章ETL入门
第一章ETL入门 1.1 OLPT和数据仓库对比 普通的事务系统和商业智能系统(BI)有什么区别? 1个独立的普通事务系统也被称为在线事务处理系统(OLTP) 商业智能系统也常被称为决策支持系统(DS ...
- MySQL----MySQL数据库入门----第一章 数据库入门
第一章 数据库入门 1.1 数据库基础知识 1.1.1 数据库概述 数据不仅包括普通意义上的数字,还包括文字.图像.声音等.也就是说,凡是在计算机中用来描述事物的记录都可称作数据. 数据库的基本特点: ...
- Java Persistence with MyBatis 3(中文版) 第一章 MyBatis入门
本章将涵盖以下话题: ž MyBatis是什么? ž 为什么选择MyBatis? ž MyBatis安装配置 ž 域模型样例 1.1 MyBatis是什么 MyBatis是一个简化和实现了Ja ...
- 第一章 Kubernetes入门
第一章 Kubernetes入门 kubernetes是基于容器技术的分布式架构领先方案,是一个完备的分布式系统支撑平台. kubernetes带来的好处:1)全面拥抱微服务:2)统可以随时随地整体“ ...
- 第一章python 简介
python语言是目前最流行的编程语言之一,在笔者写这篇文章的前一周,2018年的IEEE的编程语言排行出来了,python又雄踞第一. Python 强势霸榜第一名!排名第二的 C++ 得分是 98 ...
- 第一章 Python程序语言简介
第一节 Python概述 1. 什么是Python Python是一种 解释型.面向对象.动态数据类型 的高级程序设计语言.由Guido van Rossum与1989年发明,第一个公开发行版本发行于 ...
随机推荐
- mysql 案例~mysql主从复制延迟处理(2)
一 简介:今天来聊聊周期性从库延迟的问题,是上一篇的基础分析的一个场景 二 背景:近期每天的指定时间段,收到从库延迟的报警,然后过一段时间恢复.由于从库是提供读服务的,所以需要解决 三 分析思路: 1 ...
- DSO windowed optimization 公式
这里有一个细节,我想了很久才想明白,DSO 中的 residual 联系了两个关键帧之间的相对位姿,但是最终需要优化帧的绝对位姿,中间的导数怎么转换?这里使用的是李群.李代数中的Adjoint. 参考 ...
- 光照问题之常见算法比较(附Python代码)
一.灰度世界算法 ① 算法原理 灰度世界算法以灰度世界假设为基础,该假设认为:对于一幅有着大量色彩变化的图像,R,G,B三个分量的平均值趋于同一灰度值Gray.从物理意义上讲,灰色世界法假设自然界景物 ...
- 重新学习Servlet二
重新学习Servlet public abstract class HttpServlet extends GenericServlet package com.xh.test.api; import ...
- Potential Pythonic Pitfalls
Potential Pythonic Pitfalls Monday, 11 May 2015 Table of Contents Not Knowing the Python Version Obs ...
- ARMV8 datasheet学习笔记4:AArch64系统级体系结构之VMSA
1. 前言 2. VMSA概述 2.1 ARMv8 VMSA naming VMSAv8 整个转换机中,地址转换有一个或两个stage VMSAv8-32 由运行AArch32的异常级别来管理 VMS ...
- suse系统开启ssh方法
1.防火墙放开ssh服务 打开/etc/sysconfig/SuSEfirewall2 文件,FW_SERVICES_EXT_TCP="ssh"可以定义开放ssh的服务 2.编辑s ...
- nagios系列(一)centos6.5环境部署nagios服务端
nagios软件安装包存放目录:/home/oldboy/tools nagios服务安装目录:/usr/local/nagios 1.配置yum源 echo "------ step 1: ...
- ajax使用异步问题
使用$.ajax(...)中 async:默认为true,表示异步,具体描述,请查看别的文档 var formData = new FormData($("#dataForm")[ ...
- POJ 3243 // HDU 2815(改下输出,加个判断)
A^x = B (mod C) 的模板题,不够要用扩展BSGS (虽然AC,但完全理解不了模板0.0,以后学好数学在来慢慢理解555555) #include <iostream> #in ...