第一天 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
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()用法 见下图
直播课
学习方法:输入+输出+纠正