python图标
前言:第一部分的内容分为python简介,数据基本运算,语句,列表与元祖,字典,集合,函数,算法8个板块的内容,今天将从前两部分进行梳理.
01 python简介
1.1 python简介
python英文直译为"蟒蛇",是由荷兰数据家Guido van Rossum(吉多·范罗苏姆),人送外号龟叔,进行设计的.选择python作为这门语言的原因据说是因为他很喜欢英国的电视喜剧《蒙提.派森的飞行马戏团》(Monty Python's Flying Circus).龟叔出生于1956年,现在已经65岁了.从1991年发布python公开版,python到今年已经存续了30个年头.
龟叔
python是在ABC语言的基础上发展来的,龟叔在ABC语言的基础上设计了很多库,使得其他语言制作的各种模块可以通过python轻松联结在一起,python也因此得名"胶水语言".
"Life is short, You need Python."的中文译文被大家广为流传,"人生苦短,我用 Python".这句话出自Bruce Eckel,他是C++标准委员会拥有表决权的成员之一,他的《Thinking in C++》一本书在1995年被评为"最佳软件开发图书".
1.2 什么是python呢?
Python 是一种结合了解释性、编译性,互动性和面向对象的强类型脚本语言。
图源:斜杠老A
1)解释性语言:开发的过程中没有编译这个环节.
python通过先编译再解释的方式,只需在运行之初把源代码通过编译的方式转变为字节码,其后,便可省略编译的过程,直接通过解释把字节码转变为机器码.
源代码-->编译-->字节码-->解释-->机器码
____1次___
2)交互式语言:在终端的命令行输入指令,回车可以得到结果.
3)面向对象语言:python支持面向对象的风格或者代码封装在对象的编程技术.
4)强类型语言:变量不经过强制类型转换,数据保持原来的类型.比如原来是整形,不改变数据类型的情况下依然是整形.
1.3 python可以做什么?
1)web服务端开发:借助IE等浏览器运行、由完成特定任务的各种web组件构成、并通过web向用户提供服务.
2)爬虫:一段自动抓取互联网信息的程序,从互联网上抓取对于我们有价值的信息。
3)数据分析:使用统计分析方法,从数据中提取有用的信息.
4)机器学习:研究机器如何模拟人脑来学习、获得新技能的行为.
5)自动化测试:把以人为驱动的测试行为转化为机器执行的过程.
6)自动化运维:是一组将静态设备结构转化为根据IT服务需求动态弹性响应的策略.
02 数据基本运算
2.1 函数
1)定义
表示一个功能.函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数定义者是提供功能的人,函数调用者是用功能的人.
2)分类
(1)内置函数
嵌入到主调函数中的函数,可以提高程序的执行效率.如input(),print()
(2)自定义函数
自己定义一个想实现功能的函数.
图源:菜鸟教程
定义方法:
a.以def开头,后接自定义函数名,圆括号()和冒号,括号内放自定义变量和参数
b.函数的第一行可以存放函数说明
c.函数体要缩进
d.以return[表达式]结束函数,表达式为返回的值,如果不填,相当于返回None.
2.2 数据
1)变量
关联一个对象的标识符,创建变量时会在内存中开辟一块存储空间.
注:变量存储的是数据的地址,而非变量本身,变量是为了操作数据的.
2)赋值
创建一个变量或者改变一个变量关联的数据.
3)语法
变量名 = 数据 (常用)
多个变量赋值:
变量1 = 变量2 = 数据
变量1,变量2 = 数据1,数据2
4)删除变量
a.语法
del 变量名
b.作用
解除变量和数据之间的关系,如果数据的引用计数为0,数据会直接被销毁.
2.3 核心类型
在python中变量没有类型,关联的对象有类型.
1)整形int
a.表示整数,包括正数、负数、0.
b.字面值
十进制:逢十进一,写法:0~9
二进制:逢二进一,写法:0b开头,后跟0或1
八进制:逢八进一,写法:0o开头,后跟0~7
十六进制:逢十六进一,写法:0x开头,后跟0~9,A~F,a~f
2)浮点型float
a.表示小数,包括正数、负数、0.0.
b.字面值
小数
科学计数法:e/E(正负号)指数
3)字符串str
a.记录文本信息
b.字面值:双引号
4)布尔bool
a.用来表示真和假的类型
b.字面值:
True表示条件为真
False表示条件为假
2.4 运算
1)类型转换
(1)转换为整形:int(数据)
(2)转换为浮点形:float(数据)
(3)转换为字符串:str(数据)
(4)转换为布尔:bool(数据)
结果为False:bool(0),bool(0.0),bool(None)
2)运算符
优先级:算数运算符>比较运算符>增强运算符>身份运算符>逻辑运算符
a.算数运算符
优先级从高到底:
()
幂运算**
*乘 /浮点数 %求余 //整数商
+ -
b.增强运算符
x+=y 表示x=x+y (其他类似)
c.比较运算符
> >= < <= == !=
返回值为布尔类型
d.逻辑运算符
与and:一假俱假
或or:一真俱真
非not:取反
短路运算:一旦结果确定,后面的语句不再执行
返回值为布尔类型
e.身份运算符
判断两个对象是否是同一个,返回值为布尔类型
语法:
x is(is not) y