Python介绍
壹-Python起源
python的创始人Guido van Rossum(俗称,龟叔)。1989年为了打发无聊的圣诞节,决定开发一门新的语言–Python
龟叔希望有一门语言,这种语言能够像C语言那样全面的调用计算机的功能接口,又可以轻松编程。ABC语言让龟叔看到了希望。ABC是由荷兰的CWI开发的,龟叔在CWI工作,并参与了ABC语言的开发。
尽管很好的可读性和易用性,ABC语言还是没能流行起来,在当时ABC语言要很高的配置电脑才能运行起来。
ABC也存在一些致命的问题。
- 可拓展性差
- 不能直接进行IO
- 过度革新
所以1989年龟叔开发了Python作为ABC的一种继承。1991年第一个Python解释器诞生。他使用C语言实现的,因此Python语法多来自C语言,但又受到ABC的强烈影响。比如强制缩进。但这些让Python语言更加的易读。
Python从一开始特别在意拓展性(extensibility)。pytho可以在多个层次上拓展。在高层上,你可以直接引用.py文件。在底层,你可以引用C语言的库。
Python将许多机器层面上的细节隐藏,交给编译器处理,并凸显出逻辑层面的编程思考。Python程序员可以花更多的时间用于思考程序逻辑,而不是具体实现细节(龟叔有一节T恤,写着:人生苦短,我用Python)。这一特征吸引了广大的程序员。
python的功能越来越强大,现在又是人工智能的时代。pytho正好符合了人工智能时代的需求。因此现在它越来越火。
Life is shot, you need Python. 人生苦短,我用Python
贰-Python优缺点
优点:
- 简单易学
- 开发效率高
- 面向对象
- 免费,开源
- 可移植性
- 可拓展性
- 丰富的库
缺点:
- 运行速度慢
- 中文资源缺乏
- 线程不能利用多核
叁-应用场景
- web开发应用
- 科学计算,人工智能
- 服务器软件
- 操作系统管理,服务器运维的自动化脚本
- 游戏
肆-Python语言类型
编程语言分为编译型语言和解释型语言,Python属于解释型语言。
首先我们需要知道我们在电脑上写的内容保存到电脑上的时候在磁盘上保存的形式都是二进制01010这种形式来保存。当我们再次打开文件的时候,电脑会将二进制数据转换为我们可以看懂的内容,呈现到我们面前。同样我们的代码都是使用英文来编写的,当我们运行我们写的程序的时候,同样需要将我们写的代码翻译成二进制数据给电脑运行。因此我们需要一个翻译工具将我们写的代码(源码)翻译二进制文件。我们将这个翻译工具称之为编译器。
解释型语言和编译型语言执行过程
伍-注释
-
什么是注释
通过用自己熟悉的语言,在程序中对某些代码进行标注说明。
-
注释的作用
能够大大增加程序的可读性,注意:注释不会运行。
-
注释的分类
注释分为多行注释和单行注释
(1)单行注释
以#开头,右边的所有内容当作补充说明。只对一行内容起作用。
# 这是我的第一个python程序
print("hello world") # 向控制台输出 hello word
单行注释的位置,可以在代码的上方或者右侧
(2)多行注释
多行注释用的是三引号(单引号或者双引号)包含内容。可以写多行内容
"""
我是多行注释
可以注释多行内容
用来添加大块注释
"""
陆-数据类型
Python定义好的数据类型有6种
Number(数字)
String(字符串)
List(列表)
Tuple(元组)
Set(集合)
Dictionary(字典)
Python3 的六个标准数据类型中:
不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组)
可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
==下面简单说一下这些类型=
Number(数字)
Python3 支持 int、float、bool、complex(复数)。
在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
像大多数语言一样,数值类型的赋值和计算都是很直观的。
内置的 type() 函数可以用来查询变量所指的对象类型。
print(10) # 10
print(type(10)) # <class 'int'>
print(10.9,type(10.9)) # 10.9 <class 'float'>
str(字符串类型)
使用引号(双引号或者单引号)包裹的内容都是字符串。
print("哈哈")
print("10")
print("False")
print("我是字符串类型")
list(列表)
定义:
列表是一个可修改的,元素以逗号分隔,以中括号包围的有序序列。
格式:
变量名 = [元素1,元素2,元素3,…]
names = ["张三","李四","王五"]
print(names) # 打印列表中的内容 ["张三","李四","王五"]
print(type(names))# <class 'list'>查看names变量的数据类型
Tuple(元组)
定义:
元祖是不可修改的,元素以逗号分隔,以小括号包围的有序序列
可以将元组看成一个不可修改的列表
格式:
变量名 = (元素1,元素2,元素3,…)
tup = ("张三","李四","王五")
print(tup) # 打印元组 ("张三","李四","王五")
print(type(tup)) # 查看类型<class 'tuple'>
set(集合)
定义:
集合是盛放多个数据的一种类型
集合中的元素是无序的,唯一的,不可改变的类型
集合中的元素必须是不可修改类型
可以使用{}或者 set()函数创建
创建一个空集合必须用set()函数 ,而不是{},因为{}是用来创建空字典的
格式:
- 变量名 = {元素1,元素2,元素3,…}
- 变量名 = set(序列) 例如: 变量名 = set(元组,字符串,…)
sets = {1,2,3,4,5,1,2,3}
print(sets) # 因为集合的唯一性,所以会自动去重,打印{1,2,3,4,5}
print(type(sets))# <class 'set'>
Dictionary(字典)
定义:
在Python中是唯一内建的映射类型
映射: 我们见过这种类型:name = ‘赵四’,age = 18 或者 name :‘赵四’ ,age:18
age = 18或者age:18,这种格式的数据结构我们称为映射(mapping)
映射是指可以通过名字age 引用值 18,一般我们将 age称之为 键(key) 18叫做值(value)。整体称之为键值对
格式:
变量名 = { ‘key1’ : “value1” , ‘key2’ : value2 , ‘key3’ : ‘value3’ }
user_info = {"name":"于谦","age":25,"hobby":["抽烟","喝酒","烫头"]}
print(user_info) # {"age":25,"name":"于谦","hobby":["抽烟","喝酒","烫头"]} 无序
# 可以用来保存一些特殊的信息,例如:用户信息,账号和密码
柒-变量
变量来源于数学,是计算机中能储存计算结果,或者能标识值抽象概念。
例如:
# 设长方形的长为X,宽为Y。面积是Z
x = 10
y = 5
z = x*y
其中XYZ就是变量,并且x代表的值是10,Y代表的是5,Z代表的是50
python中定义变量和数学中一样
格式:
变量名 = 值
例如上面的X=10 ,定义一个变量,X的值为10
读法:将10赋值给X变量