路飞学城-Python开发集训-第一章

第一天  2018/5/25
Python生态圈
    1.web开发  Django框架
    2.人工智能
    3.云计算
    4.金融量化分析、自动化贸易
    5.爬虫    定向抓取相关网页资源
    6.自动化运维
    7.科学运算
    8.游戏开发
 
 
 
2018/5/28
编程语言介绍
 
1.写让计算机识别的语言,就是编程。是怎样将 易懂的人的语言 让识别二进制的计算机认识?
 
机器语言
 
汇编语言
 
高级语言
 
       不同高级语言,转二进制方式不同。两种本质区别:一种编译型,编程完再转二进制,运行速度快,跨平台能力差, C、C++;一种解释型,写一句转一句,运行效率低,不生成二进制文件,可跨平台,开发效率高,Python、Java。
问题:1 跨平台,在 部署时、使用时是怎么理解
          2 解释器 eclipse和安装的Java 哪个是解释器?
 
 
2018/5/29
Python发展史
龟叔
 
CPython 是常用的Python解释器   用C语言开发的python
python3.0以上是现在使用的。2.x正在淘汰
 
2018/5/30
Python安装
windows版
我选择了windows版的3.6.5版本,下载安装在台式机
C:\Users\helinying\AppData\Local\Programs\Python\Python36
 安装速度比较快,比JAVA快得多
 
第一个python程序的运行
windows版 在cmd里不能直接运行 python命令,需要先设置环境变量,path=C:\Users\hly\AppData\Local\Programs\Python\Python36。就可以在交互器里 输入 Python 查看版本。 交互器是用来对代码调试作用,尝试一下语句的使用是否正确。
 
linux版
linux自带python2.7.5。如果想装python3+版本再下载。我下载的tgz格式的压缩包    
tar zxvf Python-3.6.5.tgz -C /python
此时 我在终端输入 python3 未能识别,还不能用。
百度还需安装依赖环境等工作,未做
 
===============================================================
 
2018/6/4
变量与变量的作用 :变量variables,临时存放store在内存中供后面调用 manipulated
变量的定义规范
      声明变量   name = "xiaohe"    
     id( name  )  可以查看变量的内存地址
python 官方建议 使用下划线命名规则 age_of _oldboy = 50
常量使用 字母全部大写的方式 表示 (约定俗成)

以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入;

以双下划线开头的 __foo 代表类的私有成员;以双下划线开头和结尾的 __foo__ 代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数。

 
2018/6/5
交互和注释
user_name =  input("username:")
print("Hello"+user_name )
 
数据类型-基本类型
python 声明变量的时候 不需要定义数据类型。想要查看对象的类型时 可以用 type(o)
python3里没有long了,都是int
python中加了引号的字符都被认为是字符串。单引号、双引号没有区别,只用来区分一句中引号。字符串多行 要用多引号(三个引号)
python中字符串相加/拼接 必须类型都为字符串,不能与数字或其他类型相加。
除了可以相加,还可以乘数字,如5,表示同一字符串拼接5次。
布尔类型   if a<b print ("")   else print("")  没有大括号
 
2018/6/6
(sublime里 Ctrl+shift+d 复制当前代码行到下一行)
(pycharm里 Ctrl+Alt+↓ 复制当前代码行到下一行)
  ctrl+D 删除当前行
多行语句
使用斜杠( \)将一行的语句分为多行显示
total = item_one + \
        item_two + \
        item_three
语句中包含 [], {} 或 () 括号就不需要使用多行连接符     
days =['Monday','Tuesday','Wednesday','Thursday','Friday']
格式化输出
 
 
 
==
引号 若不跨行 可使用一个单引号或双引号,' ' %(参数1,参数2,参数3……)
%s 代表此处占位符 表示string类型。还可为%d (digit)、%f(float)
age = int ( input("Age:") )  // 类型转换   input 返回的内容永远为字符串
 
indentationError  :缩进错误  。python句子开头不可随便加空格。   syntaxError:语法错误。AttributeError:访问未知属性,可能是文件名命名与引入文件相同
 
2018/6/7
运算符  :算数运算、比较运算、逻辑运算、赋值运算等
算数运算    +, - , * ,  / ,  %取模(得到除法的余数),可以通过a%2为0或1,判断a的奇偶性;幂 ** ,如2**3 为8;//整除,10//3 为3;   
赋值运算  =,    c+=a 等同于 c=c+a,同理 -=,*=, /=, %= , c -= a (c = c-a ) ,c /=a (c = c/a)  c在前面
比较运算  ==,  != , <, > , <= , >= ; 
逻辑运算   and , or , not 
 
单双分支(流程控制)
单分支语法:  
if 后面的顿号,下面的一个tab空格!
python 句尾一般也不写分号;两句放一行需要写,但一般不要放一行。
 
双分支语法:   注意此处 else拼全了,后面不能再跟条件,直接冒号的。
 
 
此处有用户密码 登录 的编程讲解  09分
 
2018/6/11
多分支语: 注意 为 elif,最后一个无条件的是else
if 条件:如果什么也不想做,可以pass ,继续执行下面的语句
 
while循环语句    (循环语句还有  for  name    in  names,以及将for 和 while嵌套使用的循环)
while 条件:
     xxxxxxx     当while条件成立时执行,一般会有自加的语句,count +=1,会让执行一段时间后停止
 
2018/6/12
continue  vs break  循环终止语句 
break完全终止跳出循环体,continue 终止本次循环,继续执行后面的循环
死循环 可使用Ctrl+C终止
 
python专有   while ...else 语句   for循环 也有else 
while后面的else是指,当 while循环正常执行完,中间 没有被break终止, 就会执行else后面的语句
 
开发工具 pycharm
功能:     ,后两个功能需要用professional版(收费)
用它创建文件夹 --Directory,创建文件 --Python File.。   console,terminal,run,debuge功能区
 
我的安装过程:
官网进入,点击download,两个版本,先 选择community 下载
 
安装选项,Create Associations是否关联文件,选择以后打开.py文件就会用PyCharm打开。Create Desktop Shortcut创建桌面快捷方式,一个32位,一个64位,64位系统选择64位。勾选Download and install JRE x86 by JetBrains,会下载安装JetBrains版的x86 JRE运行环境,没有安装的,可以选择勾选。
 
我没选下载JRE,以前安装java 时候装过,现在还需要么?
 
 
 
2018/6/13-6/15
熟练pycharm和完成第一章作业
列表    数据类型-数据集  
1,创建    使用[] 、‘’单引号或双引号  和,
 
2.查询
len()可查看列表长度 len(L2)
 
3, 切片 取列表中间的一部分  
    L2[0:3] 0和3中间为冒号,表示取列表中序列从0到2的值 ['a','b','c'](顾头不顾尾),也可写为L2[:3]从头取冒号前面可不写,从尾取,冒号后面可不写,如 L2[-3:] 的值为 ['e',1,2] 
    方括号还可以使用第二个冒号,表示步长。如 L2[:3:2] 的值为  ['a','c']   每两个/隔一个取值
    
 
4,增加,修改,删除元素
追加 .append('') 一个参数   如L2.append('3')会 加到L2结尾
插入 .insert(index,'')  两个参数如 L2.insert(0,3) 将3加入索引为0的位置
修改 直接赋值  L2[2]=3   则L2变为 ['a','b',3,'d','a','e',1,2]
批量修改   L2[1:3] = 'AB CD'  左右两边的数量可以不一致,可以将后边所有元素放到左边所选的位置,可能会增加或减少列表数量   此时 L2 = ['a','A','B',' ','C','D','d','a','e',1,2]
删除   .pop() 无参数 值为最后一个元素,并将列表中最后一个元素删除L2.pop()为2,此时 L2 为['a','b','c','d','a','e',1]
          .remove('') 一个参数 移除遇到的第一个元素  L2.remove('a')  L2=['b','c','d','a','e',1,2]
           del L2[2]  L2=['a','b','d','a','e',1,2]     del L2[2:5]     del L2
          .clear() 无参数 清空列表  L2.clear()  L2 = []
5, 循环、排序
    循环   for i in L2:                        i为此处声明的一个临时变量,将L2中每个值依次赋给i
                    print("i")    
   rang(10)  创建了0-9的列表   
   排序  .sort() 无参数,当列表中元素类型一样是,从小到大排序         
           .reverse()   把当前列表原地倒转 reverse后返回列表本身可看到
6,列表拼接
n1+n2  或者 n1.extend(n2)          
 
7,其他 
.copy()   b = a.copy()  将b=a是将b指向了a指向的地址,a如果重新被赋值指向其他地址,b为原地址不受影响,而集合中如果只改变 里面的元素,地址未变,b也会跟着被改变 .而使用copy(),则a,b无关,只是将b一样的值赋给了a,改变b不影响a
此为 浅copy  可查看代码深浅copy
import copy
copy.deepcopy( names)  此为深copy
 
enumerate(list)    枚举  成为(索引,元素)的集合
        结果:
 
  结果:
 
.isdigit()  判断是否为数值
 
 
2018/6/15
二进制
十进制数转二进制 bin(十进制数)  =0b+ 二进制数   0b代表二进制
 
ASCII码
计算机将ASCII码与十进制数0-255做了对应表   ASCII码表
所以文字可以进行二进制转换。 每个字符占8位(bit比特),一共可以表示256个
 
GB2321  国标码 简体中文 收录汉字6763个
GBK  繁体和简体,收录汉字2万多
Unicode国际编码,支持多国语言 所有字符(包括英文)占两字节
UTF-8 让ascii码的字符占1个字节,欧洲字符占两个字节,东亚(中文)三个字节
 
python2 默认为ASCII码,python3默认为UTF-8,所以用python2 编译带中文代码时,需要改变默认语言
具体可以查看
# -*- coding: UTF-8 -*-
 
2018/6/16
引入其他源
from  decimal import *      从decimal库引入所有
getcontext(). ....  设置源参数   
 
浮点数     python和JavaScript一样,直接定义超长精度小数会不准确,可以用分数代替
 
注意  不要将python代码文件命名为python预留字,模块名等。特别不能与import 文件名一样
容易出现 AttributeError: ‘module’ object has no attribute ‘ArgumentParser’  此样错误
 
 
2018/6/21
字符串 深入讲解   数据类型 - 基本型  
特性:有序、不可变
pycharm 同样可以点 alt+鼠标点击,进入方法 ,可查看python源码,查看各种方法的解释
s.capitalize() 首字母大写,其他小写
s.casefold() 忽略大小写即全小写
s.find('o',0,5) 在0到5序号位上查找字母O,有则返回位置,无则返回-1
s.expandtabs() 控制tabs/空格数量
s.format()用法 见下图
 
 
直播课
学习方法:输入+输出+纠正
 

猜你喜欢

转载自www.cnblogs.com/cantin-python-notes/p/9212893.html