简单的数学运算

整数相加,得到整数:

2 + 2
4

浮点数相加,得到浮点数:

2.0 + 2.5
4.5

整数和浮点数相加,得到浮点数:

2 + 2.5
4.5

变量赋值

Python使用<变量名>=<表达式>的方式对变量进行赋值

a = 0.2

字符串 String

字符串的生成,单引号与双引号是等价的:

s = "hello world"
s
'hello world'
s = 'hello world'
s
'hello world'

三引号用来输入包含多行文字的字符串:

s = """hello
world"""
print s
hello
world
s = '''hello
world'''
print s
hello
world

字符串的加法:

s = "hello" + " world"
s
'hello world'

字符串索引:

s[0]
'h'
s[-1]
'd'
s[0:5]
'hello'

字符串的分割:

s = "hello world"
s.split()
['hello', 'world']

查看字符串的长度:

len(s)
11

列表 List

Python用[]来生成列表

a = [1, 2.0, 'hello', 5 + 1.0]
a
[1, 2.0, 'hello', 6.0]

列表加法:

a + a
[1, 2.0, 'hello', 6.0, 1, 2.0, 'hello', 6.0]

列表索引:

a[1]
2.0

列表长度:

len(a)
4

向列表中添加元素:

a.append("world")
a
[1, 2.0, 'hello', 6.0, 'world']

集合 Set

Python用{}来生成集合,集合中不含有相同元素。

s = {2, 3, 4, 2}
s
{2, 3, 4}

集合的长度:

len(s)
3

向集合中添加元素:

s.add(1)
s
{1, 2, 3, 4}

集合的交:

a = {1, 2, 3, 4}
b = {2, 3, 4, 5}
a & b
{2, 3, 4}

并:

a | b
{1, 2, 3, 4, 5}

差:

a - b
{1}

对称差:

a ^ b
{1, 5}

字典 Dictionary

Python用{key:value}来生成Dictionary。

d = {'dogs':5, 'cats':4}
d
{'cats': 4, 'dogs': 5}

字典的大小

len(d)
2

查看字典某个键对应的值:

d["dogs"]
5

修改键值:

d["dogs"] = 2
d
{'cats': 4, 'dogs': 2}

插入键值:

d["pigs"] = 7
d
{'cats': 4, 'dogs': 2, 'pigs': 7}

所有的键:

d.keys()
['cats', 'dogs', 'pigs']

所有的值:

d.values()
[4, 2, 7]

所有的键值对:

d.items()
[('cats', 4), ('dogs', 2), ('pigs', 7)]

数组 Numpy Arrays

需要先导入需要的包,Numpy数组可以进行很多列表不能进行的运算。

from numpy import array
a = array([1, 2, 3, 4])
a
array([1, 2, 3, 4])

加法:

a + 2
array([3, 4, 5, 6])
a + a
array([2, 4, 6, 8])

画图 Plot

Python提供了一个很像MATLAB的绘图接口。

%matplotlib inline
from matplotlib.pyplot import plot
plot(a, a**2)

循环 Loop

line = '1 2 3 4 5'
fields = line.split()
fields
['1', '2', '3', '4', '5']
total = 0
for field in fields:total += int(field)
total
15

Python中有一种叫做列表推导式(List comprehension)的用法:

numbers = [int(field) for field in fields]
numbers
[1, 2, 3, 4, 5]
sum(numbers)
15

写在一行:

sum([int(field) for field in line.split()])
15

文件操作 File IO

cd ~
d:\Users\lijin

写文件:

f = open('data.txt', 'w')
f.write('1 2 3 4\n')
f.write('2 3 4 5\n')
f.close()

读文件:

f = open('data.txt')
data = []
for line in f:data.append([int(field) for field in line.split()])
f.close()
data
[[1, 2, 3, 4], [2, 3, 4, 5]]
for row in data:print row
[1, 2, 3, 4]
[2, 3, 4, 5]

删除文件:

import os
os.remove('data.txt')

函数 Function

Python用关键词def来定义函数。

def poly(x, a, b, c):y = a * x ** 2 + b * x + creturn yx = 1
poly(x, 1, 2, 3)
6

用Numpy数组做参数x:

x = array([1, 2, 3])
poly(x, 1, 2, 3)
array([ 6, 11, 18])

可以在定义时指定参数的默认值:

from numpy import arangedef poly(x, a = 1, b = 2, c = 3):y = a*x**2 + b*x + creturn yx = arange(10)
x
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
poly(x)
array([  3,   6,  11,  18,  27,  38,  51,  66,  83, 102])
poly(x, b = 1)
array([ 3,  5,  9, 15, 23, 33, 45, 59, 75, 93])

模块 Module

Python中使用import关键词来导入模块。

import os

当前进程号:

os.getpid()
4400

系统分隔符:

os.sep
'\\'

- 类 Class

class来定义一个类。
Person(object)表示继承自object类;
__init__函数用来初始化对象;
self表示对象自身,类似于C Java里面this

class Person(object):def __init__(self, first, last, age):self.first = firstself.last = lastself.age = agedef full_name(self):return self.first + ' ' + self.last

构建新对象:

person = Person('Mertle', 'Sedgewick', 52)

调用对象的属性:

person.first
'Mertle'

调用对象的方法:

person.full_name()
'Mertle Sedgewick'

修改对象的属性:

person.last = 'Smith'

添加新属性,d是之前定义的字典:

person.critters = d
person.critters
{'cats': 4, 'dogs': 2, 'pigs': 7}

网络数据 Data from Web

url = 'http://ichart.finance.yahoo.com/table.csv?s=GE&d=10&e=5&f=2013&g=d&a=0&b=2&c=1962&ignore=.csv'

处理后就相当于一个可读文件:

import urllib2
ge_csv = urllib2.urlopen(url)
data = []
for line in ge_csv:data.append(line.split(','))
data[:4]
[['Date', 'Open', 'High', 'Low', 'Close', 'Volume', 'Adj Close\n'],['2013-11-05', '26.32', '26.52', '26.26', '26.42', '24897500', '24.872115\n'],['2013-11-04','26.59','26.59','26.309999','26.43','28166100','24.88153\n'],['2013-11-01','26.049999','26.639999','26.030001','26.540001','55634500','24.985086\n']]

使用pandas处理数据:

ge_csv = urllib2.urlopen(url)
import pandas
ge = pandas.read_csv(ge_csv, index_col=0, parse_dates=True)
ge.plot(y='Adj Close')
<matplotlib.axes._subplots.AxesSubplot at 0xc2e3198>

转载于:https://www.cnblogs.com/paisenpython/p/10259754.html

Python 入门演示相关推荐

  1. python与爬虫入门演示

    Python 简介Python 历史Python 之禅Ipython 解释器ipython magic命令ipython 使用Ipython notebook使用 Anacondaconda 的使用虚 ...

  2. 哪本python入门书内容最详细-重磅 | 由浅入深的 AI 学习路线,最详细的资源整理!...

    原标题:重磅 | 由浅入深的 AI 学习路线,最详细的资源整理! [导读] 本文由知名开源平台,AI技术平台以及领域专家: Datawhale, ApacheCN, AI有道和 黄海广博士联合整理贡献 ...

  3. python入门看什么书-请问初学者学Python看那本书?

    每年带几个编程0基础的本科生搞毕设.我都是要求1周内掌握Python的基础.下面是我给他们的方案. 答案总结:廖雪峰Python教程(1天).<笨办法学Python>进行练习(3-5天). ...

  4. 洪嘉振 计算多体系统动力学pdf_多体动力学演化python入门——quantum many-body scars 和稀疏矩阵后续...

    好久没更新了,肚子里也没什么货,就算python稀疏矩阵的最后一篇吧.之前的 路飞的哥哥:多体物理python入门--Ising模型和稀疏矩阵​zhuanlan.zhihu.com 计算了本征值,也就 ...

  5. 《假如编程是魔法之零基础看得懂的Python入门教程 》——(五)我的魔法竟然有了一丝逻辑

    学习目标 了解魔法世界中的结构表现--缩进 了解魔法世界的逻辑判断--if 了解魔法世界的多次逻辑判断--ifelse嵌套 了解魔法世界中的逻辑运算--且 and 与或 or 推荐 1.<备受好 ...

  6. Python精通-Python入门基础

    导语   入坑Python系列开始了 文章目录 Python入门程序 Python程序运行方式 Python代码分析 执行一个操作内容 变量 条件语句 基本数据类型 字符串 数字 基本运算 加法 减法 ...

  7. 学习python入门的个人建议及资料

    作者:黄海广 以前好多人使用matlab(octave)做机器学习的,吴恩达老师以前在机器学习课也是用matlab(octave),但近几年,python已经成为机器学习热门的工具,吴恩达老师的深度学 ...

  8. python入门经典-终于明白经典python入门教程

    Python是一种功能很强大的语言,对于零基础学习Python还是有难度的,但只要学习方法对,入门还是很快哒.下面介绍几种学习Python的方法.以下是小编为你整理的经典python入门教程 首先是书 ...

  9. 零基础学python图文版-教到你会为止的Python入门课程即将开班

    原标题:教到你会为止的Python入门课程即将开班 [嫌长不看版] 1. " 码上行动"是我们编程教室制作的 Python 基础课程,完全零基础也可以学 2. 课程包括 视频.讲义 ...

  10. python入门基础教程-Python入门基础教程:WSGI

    原标题:Python入门基础教程:WSGI WSGI 简介 WSGI 是什么 WSGI 是 Python Web Server Gateway Interface 的缩写,是描述 Web 服务器与 P ...

最新文章

  1. Python 中的绘图matplotlib mayavi库
  2. 移动表到另一表空间命令
  3. android中自定义的dialog中的EditText无法弹出输入法解决方案
  4. 在矩池云中如何使用TensorBoard?
  5. DEV-C++官方下载地址
  6. 计算机应用基础作业4第一次,《计算机应用基础》第一次作业题目、答案
  7. Windows ToolTips简要介绍
  8. 英语 语义分割_语义分割该如何走下去?
  9. 云计算机技术的运用,三分钟为你详细解析云计算技术与应用
  10. 关于为什么频宽越大传输越快 、 频率越高传输距离越短
  11. javascript/js 判断是否安装flash player插件,提示安装方法。
  12. 微信小程序 环形进度条_微信小程序实现圆形进度条动画
  13. Unity ShaderGraph初始使用配置
  14. 再谈windows下创建特殊文件夹
  15. 各种稀奇古怪的问题(持续更新中)
  16. 使用傲梅分区助手绿色版给C盘扩容
  17. Java 轮询(重发)机制
  18. 桌面应用程序和网站引入Mapl中的数学引擎
  19. 时间格式的转换 例如:(2021-05-10 14:20:43) 转为( 2021年5月10日 14时20分43秒)
  20. 《拾叶集》一个会写诗的程序员 二零一八年十月十日 ​​​

热门文章

  1. java需要了解的几个算法
  2. java 解压文件夹_java新人,在学习解压缩文件时,解压文件后,里面的文件变文件夹...
  3. php图片处理-补全图片链接,在链接前添加ip或其他路径-在正则匹配到的字符串前添加指定字符串
  4. 年轻人不讲武德,竟然重构出这么优雅后台 API 接口
  5. 羞,Spring Bean 初始化/销毁竟然有这么多姿势
  6. 阶段2 JavaWeb+黑马旅游网_15-Maven基础_第1节 基本概念_02maven依赖管理的概念
  7. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_04 IO字节流_11_字节输入流一次读取多个字节...
  8. Spring RestTemplate的使用示例
  9. BTrace简介与使用说明
  10. 洛谷P3233 [HNOI2014]世界树