Python是一个结合了解释性、编译性、互动性和面向对象的高级程序设计语言,结构简单,语法定义清晰;
Python最具特色的就是使用缩进来表示代码块,不需要使用大括号{},但每一个模块内的语句必须包含相同的缩进空格格数。
基本数据类型:
number(数值型):整型(int);浮点型(float); 复数(complex);
boolean(布尔类型):真:True;假:False;
string(字符串):'字符串',"字符串" , '''也是字符串 ''', """同样是字符串""";
None:没有,不存在
复合数据类型:万物皆对象(list,set,tuple,dict,object......)
数据类型转换:自动数据类型转换( 整数 , 浮点数 , 布尔类型)
强制数据类型转换:int(字符串):将字符串转换为整数,float(字符串):将字符串转换为小数, str(数值):数值 --> 字符串
变量(variable):在程序运行时(runtime),可以发生变化的量,被称之为变量;在程序运行时(runtime),可以不允许变化的量,被称之为常量(恒量);
python中并没有常量;
变量是一个具有名称的内存空间!!!
赋值:将一个数值赋给一个可变量,即是将等号右边的值赋给左边。
算术运算符:
+ | 相加 |
- | 相减 |
* | 相乘 |
/ | 相除 |
% | 余数 |
** | 幂次方 |
// | 整除 |
比较(关系)运算符:
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
!= | 不等于 |
== | 等于 |
逻辑运算符:
and | 和 |
or | 或者 |
not | 不是 |
所属运算符:
in | 属于 |
not in | 不属于 |
is | 是 |
is not | 不是 |
赋值运算符:
= | a = b + 10 |
+ = | a + = b <==> a = a + b |
- = | a - = b <==> a = a - b |
* = | a * = b <==> a = a * b |
/ = | a / = b <==> a = a / b |
** = | a ** = b <==> a = a ^ b |
// = | a // = b <==> a = a // b |
选择结构:根据判断条件,程序选择执行特定的代码, Python语言中使用关键字if、elif、else来表示。
单分支:
双分支:
多(三)分支:
循环语句:循环结构是指满足一定的条件下,重复执行特定代码块的一种编码结构。Python中,常见的循环结构是for循环和while循环。
while 循环:
for 循环:
list 列表,python官方提供的内置的线性表底层实现;基于双向链表结构实现。
定义列表:
age = [] # 中括号在python代表的就是列表
age = [18, 16, 20, 30]
names = list()
names = list("张三", "李四", "王五")
列表的遍历:
for循环
for 临时变量 in Iterable:
# 每一次得到的元素会放在临时变量中
while循环:
列表的常见方法:
['append', 'clear', 'copy', 'count', 'extend', 'index','insert', 'pop', 'remove', 'reverse', 'sort']
这些方法都是用来操作列表的
CRUD(增删改查)
|-- append(ele) # 在尾部追加新的元素
|-- insert(index, ele) # 在特定的位置添加元素
|-- extend(list) # 合并列表
|-- clear() # 清空列表
|-- remove(ele) # 删除指定元素
|-- pop() # 删除最后一个元素
|-- index(ele) # 返回查找到的一个元素位置
|-- count(ele) # 返回元素的数量
|-- reverse() # 翻转列表顺序
|-- sort() # 排序
|-- copy() # 拷贝、复制,对象拷贝,对象浅拷贝
set集合 :
哈希算法的实现:能够将任何事物映射为一个特定的值(哈希表 :hash table)
特点:元素不能重复;无序的
定义set:
s = set(Iterable)
ss = {1,2,3,4,} # {}中必须有值,如果没有值,则默认是dict,不是set
set的元素无法通过下标访问
set 的遍历:
for循环
for 临时变量 in Iterable:
# 每一次得到的元素会放在临时变量中
不能使用while循环!!!
set的常见方法:
['add', 'clear', 'copy', 'difference', 'difference_update', 'discard', 'intersection', 'intersection_update', 'isdisjoint', 'issubset', 'issuperset', 'pop', 'remove', 'symmetric_difference',
'symmetric_difference_update', 'union', 'update']
|-- add(ele) # 添加元素
|-- clear() # 清空集合
|-- copy() # 浅拷贝
|-- difference(set) # 差集
|-- intersection(set) # 交集
|-- union(set) # 并集
|-- update(set) # 合并两个集合
|-- discard(ele) # 移除元素,如果该元素不存在,则什么都不做
|-- remove(ele) # 移除元素,如果该元素不存在,则抛出异常
|-- pop() # 删除最后一个元素
tuple(元组):
是一种不可变数据类型;
基本数据类型也是不可变数据类型;
不可变数据类型中如果存在了可变数据类型,这个子对象是可以发生变化的;
所以表示的就是的固定的值,固定的一组值;可以通过下标来访问;元组的元素一旦定义,就 无法修改!!!
tuple 的常用方法:
|-- count #统计元素出现的次数
|-- index #查找元素在集合中的列表中的位置,如果元素不存在则会报错
字典(dict):
字典和集合一样,底层实现就是一个hash table
字典最终的表示方式:
键值对:一个唯一键对应一个值,一一对应的关系
字典对象的常见方法:
['clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']
|-- clear() # 清除字典
|-- copy() #浅拷贝
|-- get(key, [defaul]) # 获得key对应的值
|-- setdefault() # 设置默认值
|-- keys() # 获取所有的键
|-- values() # 遍历所有键值所对应的值
|-- items() # 遍历所以键值对
|-- pop(key) # 通过key,删除键值对
|-- popitem() # 删除末尾一个键值对
|-- update() # 合并字典 等价于 {**对象, **对象}
|-- fromkeys(iterable) # 生成一个新的字典对象
函数是对程序逻辑进行过程化和结构化的一种方法,函数最大的优点是增强了代码的重用性和可读性;
Python不但能灵活地定义函数,而且本身内置了很多有用的函数,可以直接调用;
函数代码块以 def 关键词开头,后接函数标识符名称和圆括号();
function_name是用户自定义的函数名称;
arguments是零个或多个参数,且任何传入参数必须放在圆括号内;
最后必须跟一个冒号 :,函数体从冒号开始,并且缩进;
function_block实现函数功能的语句块。