1.计算机基础知识python
(1)计算机由cpu(中央处理器)、内存、硬盘、输入输出设备组成linux
(2)操做系统是控制计算机硬件工做的流程(软件)web
(3)应用程序是安装在操做系统之上的软件编程
2.python简介python3.x
(1)python的创始人为吉多·范罗苏姆(Guido van Rossum),应用领域爬虫、web、人工智能、自动化运维、云计算、金融、游戏等领域,应用的公司google、yutube、nasa、知乎、豆瓣等安全
(2)python优势: 简洁,高级语言,可移植性,开发效率高(有强大的第三方类库),可嵌入,可扩展运维
缺点:速度慢、不能加密、线程不能利用多CPU问题编程语言
(3)python是什么编程语言:
编程语言主要从如下几个角度为进行分类,编译型和解释型、静态语言和动态语言、强类型定义语言和弱类型定义语言性能
编译型与解释型
编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机能够直接以机器语言来运行此程序,速度很快;
而解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,因此运行速度是不如编译后的程序运行的快的.
这是由于计算机不能直接认识并执行咱们写的语句,它只能认识机器语言(是二进制的形式)优化
编译型
优势:编译器通常会有预编译的过程对代码进行优化。由于编译只作一次,运行时不须要编译,因此编译型语言的程序执行效率高。能够脱离语言环境独立运行。
缺点:编译以后若是须要修改就须要整个模块从新编译。编译的时候根据对应的运行环境生成机器码,不一样的操做系统之间移植就会有问题,须要根据运行的操做系统环境编译不一样的可执行文件。
解释型
优势:有良好的平台兼容性,在任何环境中均可以运行,前提是安装了解释器(虚拟机)。灵活,修改代码的时候直接修改就能够,能够快速部署,不用停机维护。
缺点:每次运行的时候都要解释一遍,性能上不如编译型语言
动态语言和静态语言
常咱们所说的动态语言、静态语言是指动态类型语言和静态类型语言
(1)动态类型语言:动态类型语言是指在运行期间才去作数据类型检查的语言,也就是说,在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,
在内部将数据类型记录下来。Python和Ruby就是一种典型的动态类型语言,其余的各类脚本语言如VBScript也多少属于动态类型语言。
(2)静态类型语言:静态类型语言与动态类型语言恰好相反,它的数据类型是在编译其间检查的,也就是说在写程序时要声明全部变量的数据类型,C/C++是静态类型语言的典型表明,
其余的静态类型语言还有C#、JAVA等
强类型定义语言和弱类型定义语言
(1)强类型定义语言:强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,若是不通过强制转换,那么它就永远是这个数据类型了。
举个例子:若是你定义了一个整型变量a,那么程序根本不可能将a看成字符串类型处理。强类型定义语言是类型安全的语言。
(2)弱类型定义语言:数据类型能够被忽略的语言。它与强类型定义语言相反,一个变量能够赋不一样数据类型的值。
弱类型定义语言在速度上可能略逊色于强类型定义语言,可是强类型定义语言带来的严谨性可以有效的避免许多错误。另外,“这门语言是否是动态语言”与“这门语言是否类型安全”之间是彻底没有联系的!
经过上面这些介绍,咱们能够得出,python是一门动态解释性的弱类型定义语言。
python解释器种类:
CPython: 官方使用的解释器
IPython: 基于CPython之上的一个交互式解释器,在交互方式上有所加强
PyPy: 是另外一个Python解释器,对py代码进行动态编译,速度快
Jython: 是运行在Java平台上的Python解释器
IronPython: 是运行在微软.Net平台上的Python解释器
3.快速入门
(1)python官网www.python.org
第一个python程序
print("hello world",'你好','世界') 结果 hello world 你好 世界
注意:python在执行过程当中会自动生成一个与其同名的 .pyc 文件,该文件就是Python解释器编译以后产生的字节码
(2)python3与python2的区别
python3默认用的utf-8字节码,python2默认用的ASCII码(默认不识别中文,须要coding定义)
(3)变量命名规范
一、由字母,数字,下划线任意组成
二、不能以数字开头
三、禁止使用python中的关键字 ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else','except', 'exec', 'finally', 'for', 'from','global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print','raise', 'return', 'try', 'while', 'with', 'yield']
四、不能使用中文和拼音命名
五、作到简明知意
六、严格区分大小写
(4)推荐写法:
大驼峰 AgeOfOldboy = 56
小驼峰 ageOfOldboy = 56
下划线 age_of_oldboy = 56
查看python内部关键字
1 import keyword 2 print(keyword.kwlist)
4.注释和变量
单行注释
#要注释的代码
多行注释
# 须要注释的代码1
# 须要注释的代码2
……
方法二
'''
须要注释的代码
'''
方法三
"""
须要注释的代码
"""
(3)变量的赋值
name = 'bob'
(4)常量:常量就是将变量名大写,尽可能保持不更改的一种量
5.初识基础数据类型
查看变量的数据类型 type()
整型 int 用于计算比较
计算机中是没法准确的表示一个小数的(全部语言都有这样的问题) print(10/3) 结果 3.3333333333333335 print(999%10000) 结果 999 二进制计算 print(2**0) # 1 print(2**1) # 2 print(2**2) # 4 print(2**3) # 8 print(2**4) # 16 print(2**5) # 32 print(2**6) # 64 print(2**7) # 128 print(2**8) # 256 print(2**9) # 512 print(2**10) # 1024
float 浮点数
1 为何要叫浮点数: 由于小数点是浮动的 2 浮点数能表示的数学上的数字: 有理数(有限小数 无限循环小数) 3 浮点数的小数点是不许确的: 小数的小数位是转换成二进制存储 4 若是你建立的变量自己带小数点,那么这个变量的数据类型直接就是浮点数 5 全部的除法(除了//)获得的都是小数 6 浮点数若是太长请转换成字符串存储,好比a = '1.71264864975975073507505' 7 1.2 8 2.3333344 9 2.56789*10**2 = 256.789 10 11 注意: 12 python2.x 整数除以整数就会取整(向下取整),有一个数浮点数,就按照浮点数计算 13 python3.x 全部的除(除了//)的结果都是小数 14 注意除数不能为0,不然报错
字符串 str 在Python中,用单引号,双引号,或者三引号引发来的都是字符串,字符串不能相除或相减,能够相加相乘,只是一些特殊的格式须要不用的引号
1 相加的时候双方必须都是字符串(也称为拼接) 2 name = "bob" 3 hobby = "linux" 4 new = name+hobby 5 print(new) 6 结果 7 boblinux 8 9 只能是数字和字符串相乘 10 name = "bob" 11 new = name * 2 12 print(new) 13 结果 14 bobbob 15 16 换行打印 17 a = '床前明月光, \n疑是地上霜, \n举头望明月, \n低头思故乡.' # \n 转义字符. 换行 18 print(a) 19 结果 20 床前明月光, 21 疑是地上霜, 22 举头望明月, 23 低头思故乡.
布尔值 bool
1 True 真 2 False 假
6.程序交互
(1)input()括号内的内容必须是字符串,也称为提示语句,用input获取到的内容都是字符串
1 例1 2 s1 = input("请输入: ") 3 print(type(s1)) 4 结果 5 请输入: 11 6 <class 'str'> 7 例2 8 s1 = int(input("请输入: ")) 9 print(type(s1)) 10 结果 11 请输入: 22 12 <class 'int'>
(2)将字符串转换成数字
1 num = int("88") 2 print(type(num))
(3)将数字转换成字符串
1 s = srt("123") 2 print(type(s))
7.格式化输出
%s 字符串
%d或%i 整型(数字)
%f 浮点数(小数)
%% 转义符
1 事例一 2 name = input("请输入姓名:") 3 age = int(input("请输入年龄:")) 4 job = input("请输入职业:") 5 hobbie = input("请输入爱好:") 6 print(''' 7 ---------------- info of %s -------------- 8 Name : %s 9 Age : %d 10 Job : %s 11 Hobbie : %s 12 ------------------- end------------------- 13 '''%(name,name,age,job,hobbie)) 14 # 注意点: 必须按照相对应的数量来填充 使用位置来填充参数 15 16 方法二 17 print(f''' 18 ---------------- info of {name} -------------- 19 Name : {name} 20 Age : {age} 21 Job : {job} 22 Hobbie : {hobbie} 23 ------------------- end------------------- 24 ''') 25 #应用场景: 动态获取用户数据并写入固定格式+号也能够 26 27 事例二 28 name = 'bob' 29 print('工程师%s剩余30%%的数据没有拷贝'%(name))
8.if条件语句
一、单条件if语句
1 if 条件: 2 代码块
二、双条件if语句
1 if 条件: 2 代码块1 3 else: 4 代码块2
三、三条件if语句
1 if 条件: 2 代码块 3 elif: 4 代码块 5 elif: 6 代码块
四、多条件if语句
1 if 条件: 2 代码块 3 elif: 4 代码块 5 elif: 6 代码块 7 else: 8 代码块
五、嵌套if语句
1 if 条件: 2 if 条件: 3 代码块