Python简介、环境搭建及包管理、基本语法、基本数据类型,非常值得学习一波!

一、Python基础:

大纲

Python简介、环境搭建及包管理

Python简介
  1. 特点:Python是一门动态、解释型、强类型语言
    1. 动态:在运行期间才做数据检查(不用提前声明变量)- 静态语音(C/Java):编译时检查数据类型(编码时需要声明变量类型)
    2. 解释型:在执行程序时,才一条条解释成机器语言给计算机执行(无需编译,速度较慢)- 编译型语言(C/Java):先要将代码编译成二进制可执行文件,再执行
    3. 强类型:类型安全,变量一旦被指定了数据类型,如果不强制转换,那么永远是这种类型(严谨,避免类型错误,速度较慢)- 弱类型(VBScript/JavaScript): 类型在运行期间会转化,如 js中的 1+"2"="12", 1会由数字转化为string
  2. 编码原则:优雅、明确、简单
  3. 优点
    1. 简单易学
    2. 开发效率高
    3. 高级语言
    4. 可移植、可扩展、可嵌入
    5. 庞大的三方库
  4. 缺点
    1. 速度慢
    2. 代码不能加密
    3. 多线程不能充分利用多核cpu(GIL全局解释性锁,同一时刻只能运行一个线程)
  5. 应用领域
    1. 自动化测试(UI/接口)
    2. 自动化运维
    3. 爬虫
    4. Web开发(Django/Flask/..)
    5. 图形GUI开发
    6. 游戏脚本
    7. 金融、量化交易
    8. 数据分析,大数据
    9. 人工智能、机器学习、NLP、计算机视觉
    10. 云计算
环境搭建

Windows Python3环境搭建

  1. 下载Python3.6.5*.exe安装包
  2. 双击安装,第一个节目选中Add Python3.6.5 to PATH,点击Install Now(默认安装pip),一路下一步
  3. 验证:打开cmd命令行,输入python,应能进入python shell 并显示为Python 3.6.5版本
包管理
  1. pip安装
    1. pip install 包名 - 卸载: pip uninstall 包名
    2. pip install 下载的whl包.whl
    3. pip install -r requiements.txt(安装requirements.txt中的所有依赖包)
    4. pip list 查看已安装的三方包,pip freeze 已文件格式显示已安装的三方包(用于导出requiremnts.txt文件)
  2. 源码安装
    1. 下载源码包,解压,进入解压目录
    2. 打开命令行,执行 python setup.py install
    3. 验证:进入python shell,输入import 包名,不报错表示安装成功
  3. 三方包默认安装路径:Python3.6.5/Lib/site-packages/ 下

Python基本语法

  1. 缩进
if x > 0:
    print("正数")
elif x = 0:
    print("0")
else:
    print("负数")

def add(x,y):
    return x+y
  1. 一行多条语句
x=1; y=2; print(x+y)
  1. 断行
print("this line is too long, \ 
so I break it to two lines")
  1. 注释
# 单行注释
a = 1

'''这是一段
多行注释'''

def add(x, y):
    """加法函数:这是docstring(函数说明)"""
    pass
  1. 变量
    1. 变量类型(局部变量、全局变量、系统变量)
    2. 变量赋值
      • 多重赋值x=y=z=1
      • 多元赋值x,y = y,x
    3. 变量自增 x+=1 x-=1(不支持x++x--)

Python3中没有常量

基本数据类型(6种)

1. 数字Number
  1. 种类
    1. 整型int(Python3中没有长整型,int长度几乎没有限制)
    2. 浮点型float
    3. 布尔型bool
      • False: 0,0.0,'',[],(),{}
      • True: 除False以外,['']或[[],[]]不是False
    4. 复数型complex
  2. 操作符: +,-,*,/,//(地板除),**(乘方) - Python3中的/是真实除,1/2=0.5
  3. 类型转
    1. str(): 其他类型转为字符串, 如str(12)
    2. int(): 字符串数字转为整型(字符串不是纯整数会报错), 如int("12")
    3. float(): 字符串转换为浮点数,如float("1.23")
2. 字符串String
  1. 字符串系统方法
    • len(): 计算字符串长度,如len("abcdefg")
    • find()/index(): 查找字符串中某个字符第一次出现的索引(index()方法查找不到会报错), 如"abcdefg".find("b"); "abcedfgg".index("g")
    • lower()/upper(): 将字符串转换为全小写/大写,如"AbcdeF".lower();"abcedF".upper()
    • isdigit()/isalpha()/isalnum(): 判断字符串是否纯数字/纯字母/纯数字字母组合, 如isdigit("123"),结果为 True
    • count(): 查询字符串中某个元素的数量,如"aabcabc".count("a")
    • join(): 将列表元素按字符串连接,如"".join(["a","b","c"])会按空字符连接列表元素,得到"abc"
    • replace(): 替换字符串中的某已部分,如"hello,java".replace("java", "python"),将java 替换为 python
    • split(): 和join相反,将字符串按分隔符分割成列表, 如"a,b,c,d".split(",")得到["a", "b", "c", "d"]
    • strip()/lstrip()/rstrip(): 去掉字符串左右/左边/右边的无意字符(包括空格,换行等非显示字符),如" this has blanks \n".strip()得到"this has balnks"
  2. 字符串格式化
    • %: 如"Name: %s, Age: %d" % ("Lily", 12)"Name: %(name)s, Age: %(age)d" % {"name": "Lily", "age": 12}
    • format: 如"Name: {}, Age: {}".format("Lily", 12)"Name: {name}, Age: {age}".format(name="Lily",age=12)
    • substitude(不完全替换会报错)/safe_substitude: 如"Name: ${name}, Age: ${age}".safe_substitude(name="Lily",age=12)
  3. 案例: 利用format生成自定义html报告
    tpl='''<html>
    <head><title>{title}</title></head>
    <body>
    <h1>{title}</h1>
    <table border=1px>
        <tr>
            <th>序号</th>
            <th>用例</th>
            <th>结果</th>
        </tr>
        {trs}
    </table>
    </body>
    </html>
    '''
    
    tr='''<tr><td>{sn}</td>
    <td>{case_name}</td>
    <td>{result}</td>
    '''
    
    title="自动化测试报告"
    case_results = [("1", "test_add_normal", "PASS"),("2", "test_add_negative", "PASS"), ("3", "test_add_float", "FAIL")]
    
    trs=''
    for case_result in case_results:
        tr_format = tr.format(sn=case_result[0], case_name=case_result[1], result=case_result[2])
        trs += tr_format
        
    html = tpl.format(title=title, trs=trs)
    
    f = open("report.html", "w")
    f.write(html)
    f.close()

结果预览

自动化测试报告

序号用例结果
1test_add_normalPASS
2test_add_negativePASS
3test_add_floatFAIL
3. 列表List

列表元素支持各种对象的混合,支持嵌套各种对象,如["a", 1, {"b": 3}, [1,2,3]]

  1. 列表操作
    • 赋值: l = [1, "hello", ("a", "b")]
    • 获取: a = l[0] # 通过索引获取
    • 增: l.append("c");l.extend(["d","e"]);l+["f"]
    • 删: l.pop() # 按索引删除,无参数默认删除最后一个;l.remove("c") # 按元素删除
    • 改:l[1]="HELLO" # 通过索引修改
    • 查: 遍历 for i in l: print(i)
  2. 列表系统方法
    • append()/insert()/extend(): 添加/插入/扩展(连接)
    • index(): 获取元素索引
    • count(): 统计元素个数
    • pop()/remove(): 按索引/元素删除
    • sort()/reverse(): 排序/反转
    • 案例: 字符串反转s="abcdefg"; r=''.join(reversed(a))
4. 元组Tuple
  1. 不可改变,常用作函数参数(安全性好)
  2. 同样支持混合元素以及嵌套
  3. 只有一个元素时,必须加","号,如a=("hello",) - 因为Python中()还有分组的含义,不加","会识别为字符串

最后,如果你对Python感兴趣,想要学习Python,希望可以帮到你,一起加油!以上是给大家分享的Python全套学习资料,都是我自己学习时整理的: 

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

图片

图片

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,还有环境配置的教程,给大家节省了很多时间。

图片

三、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

图片

四、入门学习视频全套

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

图片

图片

五、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

图片

图片

**学习资源已打包,需要的小伙伴可以戳这里:【学习资料】 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值