python由荷兰人吉多·范罗苏姆在1991年发布。
编译型语言,是统一编译打包执行。编译型语言在window操作系统编译,编译成的文件只能在window操作系统中运行。
解释型语言,是同时编译同时执行。不同平台安装不同的解释器,就可以跨平台。
Python设计目标:
- 一门简单直观的语言并与主要竞争者一样强大。
- 开源,以便更多人为它贡献。
- 代码像纯英语那样容易理解。
- 适用于短期开发的日常任务。
1.Python程序扩展名通常都是.Py
2.每一行代码负责完成一个动作
3. 单行注释 以#号开头,后面全部为注释(为保持整齐#号后面加一个空格)
多行注释 ”””注释”””
4.在python中‘*’还可以用于字符串
print(‘你好’*50);
5.python变量不需要指定的类型,解释器会根据右侧值自动推导
6.字符串可以根据’+’拼接成新的字符串
7.input输入:
Password=input(“请输入银行密码:”)
注意用户输入的任何内容,python都会认为它是一个字符串
8.数据类型转换
int(x) 将x转换为一个整数
float(x) 将x转换为一个浮点数
9.变量的格式化输出
%s 字符串 %d 整形数 %f 单精度浮点数 %%输出%
print(“账号:%f 密码:%f”%(账号,密码))
- if语句 格式:
If 要判断的条件:
条件成立时的执行过程
else:
条件不成立时的代码
注意:在python开发中Tab和空格不要混用
- elif语句:
if 条件:执行代码
elif 条件:执行代码
elif 条件:执行代码
else:执行代码
- 逻辑运算
and 与 or 或 not 非
- while的基本语法
while 条件(判断技术器是否达到目的):
内部执行代码
处理条件(计数器+1)
例子:
while i>0:
Print(“hello”)
i-=1
- 向控制台输出后不会换行
print(“*”,end=””)
- 单纯的换行
Print(“ ”)
- 函数的定义:
def 函数名():
函数封装的代码
...
函数调用:函数名()
- 函数的文档注释
- 函数的参数
def sum(num1,num2):
Result=num1+num2
print(“%d+%d=%d”%(num1,num2,Result))
return Result
- 模板(python架构中的核心概念)
-模块好比一个工具包,要想使用工具包中的工具,就需要import导入这个模块
-每个以.py结尾的python源文件都是一个模块
-导入之后就可以用模块名.变量/模块名.函数
-pyc是编译过的模块
- 列表(list)在其他语言中成为数组
Name=[“wang”,”zhang”,”tao”]
注释:列表的操作
-len(列表) 获取列表长度n+1
-列表.cout(数据) 计算数据出现的次数
-列表.sort() 升序排序
-列表.sort(reverse=True) 降序排序
-列表.reverse() 反转/逆序
-列表[索引] 从列表中取值
-列表.index(数据) 获取数据第一次出现的索引
-del 列表[索引] 删除指定索引的数据
-列表.remove[数据] 删除第一次出现的指定数据
-列表.pop 删除末尾的数据
-列表.pop(索引) 删除指定索引的数据
-列表.insert(索引,数据) 在指定位置插入数据
-列表.append(数据) 在末尾追加数据
-列表.extend(列表2) 将列表2的数据追加到列表后
- 方法和函数类似
-同样是封装了独立的功能
-方法需要通过对象来调用
-表示针对这个对象所需要的操作
对象.方法名(参数)
- 循环遍历
for name in name_list:
print(name)
- 元组
定义元组(保存不同类型的数据)
Yuanzu=(“zhang”,18,1.75)
元组中的元素不能修改
空元组 empty_tuple=()
当元组只有一个元素时,需要在第一个元素后加’,’
元组名.index(数据)
元组名.count(数据)
元组 xueshengxinxi=(“王江涛”,18,”佳县”)
print(“姓名:%s,年龄:%d,籍贯:%s”%xueshengxinxi)
xueshengxinxi=("王江涛",23,"佳县")
xinxi_str="姓名:%s,年龄%d,籍贯:%s"%xueshengxinxi
print(xinxi_str)
- 元组与列表之间的转化
列表转元组
参数=tuple(list)
元组转列表
参数=list(tuple)
- 字典 用来存储多个数据(存储描述一个物体的相关信息)
和列表的区别:
列表是有序的对象集合。
字典是无序的对象集合。
键key:是索引 值value:是数据
字典用{}来定义。
Xiaomin={“name”:”小明”,
”age”:18,”
gender”:true}
- 字典的操作
len(字典): 获取字典的键值数量
字典.keys(): 所有key列表
字典.values() 所有value列表
字典.items() 所有(key,values)元组列表
print(xiaoming[“name”])
字典增加键值
xiaomin[“school”]=”西农大”
字典删除键值
Xiaomin.pop[“name”]
合并字典
Xiaominold={“name”:”小明”,
“age”:18}
Xiaominnew={“height”:1.75}
Xiaominnew.update(X1iaominold)
清空字典
Xiaomin.clear()
遍历字典
for k in xiaomin:
Print(“%s:%s”%(k,xiaomin[k]))
|
列表 |
元组 |
字典 |
表示符号 |
[] |
() |
{} |
|
数组(同种类型) |
数组(不同种类型) |
存储多个数据 |
将多个字典放在一个列表中
list=[{“name”:”wang”,”age”:18},
{“name”:”jiang”,”age”:19}]
for temp in list
print(temp)
27.Python 可以使用单引号或双引号定义字符串
Str=’我的外号是”大西瓜”’
输出:我的外号是”大西瓜”
可以使用索引截取一个字符串中指定位置的字符
也可以使用for循环遍历字符
len(字符串) 求字符串的长度
字符串.count(字符串) 小字符串在大字符串中出现的次数
字符串[索引] 取出单个字符
字符串.index(字符串) 获取小字符串第一次出现的索引
字符串切片:
使用索引值限定范围,从一个大的字符串切出一个小的字符串
字符串[开始索引:结束索引:步长]
字符串倒序切片:
Str[-1: :-1] 从最后开始向左移动
例如:
a="qwwqeqweqweqweqwesaa"
print(a)
b=a[-1::-1]
print(b)
Python内置函数
len(item) 计算容器中的元素个数
del(item) 删除变量
max(item) 返回元素的最大值
min(item) 返回元素的最小值
cmp(item1,item2) 比较俩个值
28.切片
字符串,列表,元组
- 运算符
+ |
合并字符串,列表,元组 |
* |
重复打印,乘法 |
in |
判断是否存在 |
not in |
判断是否存在 |
> >= <= < |
|
== |
|
- 完整for循环
for num in [1,2,3]:
print(num)
if num==2:
break;
else:
print(“会执行吗?”)
print(“循环结束”)
- 在开发时,不希望立即编写分支内部的代码,便可用pass关键字,表示一个占位符,保证程序结构完整性
- 字符串判断:
-if action in [“1”,”2”,”3”]:
-if action==”1” or action==”2” or action==”3”:
#TODO注释变蓝加粗
- python支持连续比较
print(“a”<”b”<”c”)
True
- print(r”\nwoow”)
r表示引号内字符串不转义
- Python中is比较内存地址
- python正则表达式
1、. 匹配任意除换行符“\n”外的字符;
2、*表示匹配前一个字符0次或无限次;
3、+或*后跟?表示非贪婪匹配,即尽可能少的匹配,如*?重复任意次,但尽可能少重复;
4、 .*? 表示匹配任意数量的重复,但是在能使整个匹配成功的前提下使用最少的重复。
如:a.*?b匹配最短的,以a开始,以b结束的字符串。如果把它应用于aabab的话,它会匹配aab和ab。