python 基础学习
最近在cloudera培训,python数据分析课的笔记:
主要内容:
1、 初识python
上升最快的语言,python纳入高考加分项?
开源,源码执行
C语言,面向过程 小型嵌入式开发:
Python,面向对象,解释器为Cpython,C语言编写
跨平台:中小型 原生系统:大型
python2.X 在字符处理方面存在许多问题
Java:窗体、游戏、大数据(慢)
Web\game\application\ BD\ML\DA
2、 安装Anaconda
①安装过程中可能的坑
pip安装,有些包有依赖包,需要都安装
安装anaconda中,Add anaconda to my Path…. 打勾,下方文字出现红色,返回上一级,再next
②检查
cmd→conda info -e 查看当前环境 → base * C:….
查看版本:Conda -v Python -v
③测试:hello world 程序
C: include void main()
Java:
Python : 如果是写在记事本中,需要更改编码方式为UTF-8,保存为.py文件,执行:python 路径.. .py
④第三方库安装路径更改为国内镜像
conda config –add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config –set show_channel_urls yes
进入C盘→用户→ ,.condarc文件——记事本打开,去除默认项——再查看:conda info
⑤新环境安装、切换及移除
Cmd——conda create -n pb_evn python=3.6.2——check: conda info -e 加*号的为主环境。
切换环境 :activate pb_evn 命令行前会有(pb_evn)
退出并返回上一个状态:deactivate
移除环境:conda remove -n pb_evn –all (移除所有)——check:conda info -e
⑥Python运行过程
源代码→解释器→解释运行→操作系统输出
Python处理速度比C语言慢100倍,可忽略。
⑦进入python控制台
cmd————python >>>
交互式计算和开发环境介绍:
2.1 Ipython 交互式计算系统
交互式python shell 、解耦双过程通信模型(print(sum), sum)、交互式并行计算架构,Tab自动补全.
- ? 查看通用信息
- ?? 可以查看源代码
- _前一个输出结果
- _iX 指定第X条输入
- _X 第X条输出
2.2 Jupyter Notebook
基于Web技术的交互式计算文档格式。建议用Google、火狐等浏览器。
目录默认在 C:\user\adminstrator.(容易丢失)
① 更改目录:
- 方法1:新建目标文件夹,复制路径,右键jupyter 更改目标和起始位置为目标文件夹所在路径。
- 方法2. cmd—— Jupyter notebook –-generate-config,
打开对应位置的config.py文件,
将目录更改并保存。
② Jupyter notebook 快捷键
Enter 进入编辑模式
Esc 退出编辑模式
Ctrl + / 单行注释
Alt + Enter 执行单元格代码,新建并移动到下一个单元格(不管下面有没有单元格)
A:在上方插入新单元
B:在下方插入新单元
C:复制选中的单元
X:剪切选中的单元
M:转入Markdown状态
Y:转入代码状态
③ Markdown编写
执行效果:
3、 Python基础语法
在Jupyter Notebook 中进行后续学习
3.1 注释语句
#单行注释
'''
多行注释
'''
输出:‘\n多行注释\n’
str1 = '''
多行语句1
多行语句2
多行语句3
'''
print(str1)
输出:多行语句1
多行语句2
多行语句3
3.2 导入csv数据并操作:
3.3 字符串操作:
① 切片器
针对可迭代类型(字符串、数组等)
基本原理:迭代器[起始位置:结束位置+1:步长]
3.4 运算符及其优先级
算术运算符
比较运算符
赋值运算符
逻辑运算符
成员运算符
身份运算符
3.5 控制语句 if…else… for… while…
① while循环:
count= 1
while count < 5:
print(count)
count += 1
**输出:
1
2
3
4
② for循环:
for ch in 'freedom':
print(ord(ch))
**输出:
102
114
101
101
100
111
109
3.6 输出函数
例:打印常用ASCII码值
print('常用ASCII码'.center(90,'*'))
t = 0
for i in range(32,127):
t += 1
print('%03d | %s' %(1,chr(i)),end='\t\t')
if t % 6 ==0:
print('\n')
①print 常用属性
print('hello world')
print('hello','world')
print('hello','world',sep = '&')
**输出:
hello world
hello world
hello&world
print('{} {}'.format('hello','world'))
print('{1} {0}'.format('hello','world'))
'{1} {0} {1}'.format('hello','world')
**输出:
hello world
world hello
'world hello world'
② 格式化输出
采用.format()控制输出
print('网站名:{name},网址:{url}'.format(name='百度',url='www.baidu.com'))
data = ['百度','www.baidu.com'] #数组
print('网站名:{0[0]},网址:{0[1]}'.format(data))
info = {'name':'百度','url':'www.baidu.com'} #字典
print('网站名:{name},网址:{url}'.format(**info))
**输出:
网站名:百度,网址:www.baidu.com
网站名:百度,网址:www.baidu.com
网站名:百度,网址:www.baidu.com
money = 70000000
print('格式化为货币格式(千位分隔符):¥{0:,}'.format(money))
**输出:
格式化为货币格式(千位分隔符):¥70,000,000
percent = 57.89/100
print('格式化为百分百模式:¥{0:.1%}'.format(percent))
**输出:
格式化为百分百模式:¥57.9%
例子:循环嵌套——打印九九乘法表
print('九九乘法表'.center(70,'*'),end='\n\n')
for i in range(1,10):
for j in range(1,i+1):
print('%d×%d=%d'%(j,i,i*j),end='\t')
print()
break 与 continue 的对比:
for i in range(1,20):
if i%7 == 0:
break
print(i)
for i in range(1,20):
if i%7 == 0:
print('拍拍手')
continue
print(i)
break是结束当前循环,continue是跳过当前循环执行下一次循环。