Python优点:
软件质量,开发效率,可移植性,库支持丰富,组件集成多,软件质量高
劣势:运行速度不如 c c#等
哪些公司用:谷歌,youtube,搜狗邮箱,知乎等等
能做什么:
- 系统编程
- GUI窗体程序
- 网络脚本
- WEB------Djano、Flask
- 数据库
- 快速原型
- 数学及科学计算
优势面向过程,函数式编程,面向对象
Python运行
1,交互提示符
- IDLE
- Windows命令提示符 python/py
- Sublime Text Console
2,脚本方式
- 编写脚本代码保存为*.py
- 命令提示符Python*.py
注:python*.py>result.txt 将结果保存到文本文件中
Python变量类型及存储
概念层级
- 程序
- 模块
- 语句
- 表达式:创建、处理对象
变量
- 创建:第一次赋值时生成规则-----
- 包含字母数字下划线
- 只能以字母下划线开头
- 不能有空格
- 避免Python关键字或函数名
- 简短且有描述性
- 区分1 L 0 o
- 类型 : 变量无类型约束 、类型取决于关联对象
- 垃圾回收:
- Python自动释放未被引用的对象
- 内部原理依据对象引用计数器统计的数值
- 共享引用:用多个变量引用一个对象
- 判断字面值是否相等:==
- 判断地址是否相等:is
- 256以下数字已被python缓存
对象类型
数字 int float Decimal(更精确的小数) Franction(分数)
字符串 str
列表 list
字典表 dict
元祖 tuple
文件 file
集合 set
布尔 Boolean
空 none
程序单元 函数:funtion,模块,类:class
数据类型
'姓名:{0},年龄:{1}'.format(d.get('name'),d.get(age))
数值:
- 声明赋值使用
- 显示'{0}' , 表示一个占位符, 而'f = {0:.2f}'.format(3.3333)的意思是讲3.3333这个数字传进去!并且保留两位小数,以浮点型
- 表达式
- 比较 返回布尔值结果 true false
相除 10/4 = 2.5 10//4 = 2 取整 10//4.0 =2.0保持精度
import math
- math.floor() 取整向左
- math.trun()向0取整
- round()正常取整 四舍五入
整型 无限精度受限于内存与计算机配置
- 八进制 0o 转换 oct()
- 十六进制 0x hex()
- 二进制 0b bin()
字符串声明
‘’ “” “”“”“” 单引号、双引号、三引号、都是一样的效果。 当单双引号冲突的时候,我们需要转义: \
常见的转意符:\ \' \'' (对双引号转义) \n (转行) \b (退格键) \t \a
列表
l=list(s) s='codeclassroom.cn'
l=['c','o','d','e','c','l','a','s','s','r','o','o','m','.','c','n']
s='|'join(l) 插入内容
s='c|o|d|e|c|l|a|s|s|r|o|o|m|.|c|n'
url=‘code.classroom.com,uke.cc,youpinketang.com’
url.split(,) 分割
基本操作
- .repalce('a','b')替换
- .split()分割
- .startwith()以开头
- .endwith()以结尾
- .find()找位置
- .format()传值
列表
- 任意对象的有序集合
- 通过索引下标访问元素
- 可变长度
- 属于可变序列
list的列式推导:需求:我现在想要将一个列表的值都平方一下
list1 = [1,2,3,4,5,6,7] list2 = [i ** 2 for i in list1]
lsit1[2:4] = [222] 解释:将list1中的从第二个下标开始的数字! 到第四个下标(不包括第四个),替换成222
list1.append(7) 追加lsit1列表一个元素
list1.extend([1,4,6,3]) extend是追加一个列表
lsit1.sort() 排序顺序
lsit1.reverse() 反转
list1.pop :弹出来最后面的数字。
del(list1[0]): 删除该列表的第一个元素
list1.index(数字) 找出该数字所在的位置
lsit1.count(5) 统计5在list1中出现的次数
list1.copy()复制
注意:引用类型支持原位改变 拷贝副本 [:] 或者.copy()