Python 入门学习笔记
安装和运行
官网下载安装包
https://www.python.org/downloads/mac-osx/
下载完直接安装即可
运行
打开 terminal,输入命令 python,进入 python 环境(类似输入 node 进入 node 环境)
退出 python 环境
exit()
>>> python
Python 2.7. (v2.7.14:84471935ed, Sep , ::)
[GCC 4.2. (Apple Inc. build ) (dot )] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> + >>> exit()
print 语句
打印多个字符串,用逗号隔开,就可以连成一串输出
print 'This is Tuesday', 'I am study Python'
注释
# print 'This is a comment'
raw 字符串
内部字符串不需要转义,类似 html 中 pre 标签的功能
print r'\$%^&*(_)(*&^%$/'
多行字符串
print ''' Line 1
line2
line3 '''
list (类似 js 中数组)
>>> arr = [, , , 'abc', '你好']
>>> arr
[, , , 'abc', '你好']
list 元素的访问和 js 数组类似
arr[] # 'abc'
倒序访问 list 元素
arr[-] # '你好'
在 list 末尾添加元素
list.append('new item')
在 list 指定位置添加元素
list.insert(, 'new item') # 在 index = 的位置上添加新元素,后面的元素依次后移一位
list 中删除元素
list.pop(index)
list.pop() # 删除 list 中最后一个元素
list.pop() # 删除 list index = 的元素
tuple(元组、数组)
类似 list 的有序列表,但是不可变,相当于常量类型的 list
t = ('Apple', 'Peach', 'Banana')
tuple 访问元素的操作和 list 一致,但是对列表元素不能执行 append、 insert 和 pop 操作
创建tuple
t = ()
创建包含一个元素的tuple
不能写成 t = (1) # 1
而应该是 t = (1,) # 添加一个逗号来避免歧义,明确这是一个 tuple
if 语句
age =
if age >= :
print 'ur age is', age
代码缩进规则
具有相同缩进的代码被视为代码块,不要混合使用 tab 和空格
if 语句后面跟表达式,并用冒号:表示代码块开始
if-else(else 后面要跟冒号:)
if name == 'wangxi':
print 'hello wangxi'
else:
print 'hello strange'
# hello wangxi
if-elif-else
if age >= :
print 'adult'
elif age >= :
print 'teenager'
elif age >= :
print 'kid'
else:
print 'baby'
for 循环
for item in list:
print item
dict
dictionary,字典,类似 js 对象,使用 key-value 键值对来表示元素的对应关系s
d = {
'name': 'wangxi',
'age':
}
# { 'name': 'wangxi', 'age': }
len(dict)
计算 dict 的长度
len(d) #
访问dict
dict['name'] # 'wangxi'
dict.get('name') # 'wangxi'
判断 key 是否存在
if 'name' in d:
print d['name'] # 'wangxi'
获取 dict 的 key
for key in d:
print key
# name
# age
获取 dict 的 value
for value in d.values():
print value
# 'wangxi'
#
itervalues() 不会转换 dict,在迭代过程中依次从 dict 中取出 value,而 values() 会将 dict 转换成 包含 value 的 list
for value in d.itervalues():
print value
# 'wangxi'
#
同时获取 key 和 value
for key, value in d.items():
print key, ':', value
# name: 'wangxi'
# age:
dict 的特点以及和 list 的比较
- 查找速度快,但是占用内存大,list 则相反
- key 是唯一的,不能重复,list 中的元素是可以重复的
- key-value 是没有顺序的,list 则是有顺序的
- key 是不可变的(字符串、整数、浮点数等)
set
和 JS es6 中的 set 几乎一样
可以理解为元素唯一的不可重复的数组
如果创建或修改的时候出现重复元素,则会自动过滤
s = set([, , , , , ]) # set([, , , ])
特点
1. set 存储的元素是无序的,所以不能用索引来访问 set 元素
使用 in 操作符判断元素是否在 set 中 (es6 中使用 has() 方法)
in s # true
2. set 的元素是不可变的
遍历set(for...in...)
for item in s
print s
更新 set
添加 add()
s.add('wangxi') # set([, , , , 'wangxi'])
删除 remove() # es6 中使用 delete
内置函数
abs()
cmp(1, 2)
函数
def functionName(x):
pass
函数返回多个值
def getUserInfo (name, age):
return name, age
getUserInfo('wangxi', )
# ('wangxi', ) 返回值是 tuple 类型
递归函数
def fact(n):
if n == :
return
return n * fact(n)
指定默认参数(和 es6 用法相同)
定义可变参数
def fn(*args):
print args fn(, , , ) # 打印的是 args 的 tuple (, , , )
对 list 或 tuple 或 字符串进行切片
L = range(, ) # 生成 ~ 的list
L[: ] # [, ]
L[:] # [, , ] 相当于 L[: ] 开始是 可以省略
L[:] # 从头到尾选取元素,相当于复制一个新的 list
L[::] # 从 开始,每三个元素选取一个 [, , ...]
L[::] # 从第三个元素开始,每三个元素选取一个 [, , ...]
'ABCDEFG'[:] # 'BC'
迭代循环
for x in xrange(,):
passs
索引迭代
L = ['apple', 'pear', 'strawberry', 'grape']
for index, name in enumerate(L):
print index, '-', name
# - apple
# - pear
# - strawberry
# - grape
生成列表
生成 [1x2, 3x4, 5x6, 7x8, ..., 99x100]
[x * (x + ) for x in range(, , )]
条件过滤
计算列表中偶数项的平方
[x * x for x in range(, ) if x % == ]
# [, , , , ...]
多层表达式
L = []
for m in 'ABC':
for n in '':
L.append(m + n)
转换成
[m + n for m in 'ABC' for n in '']
# ['A1', 'A2', 'A3', 'B1', 'B2', 'B3', 'C1', 'C2', 'C3']
Python 入门学习笔记的更多相关文章
- Python入门学习笔记4:他人的博客及他人的学习思路
看其他人的学习笔记,可以保证自己不走弯路.并且一举两得,即学知识又学方法! 廖雪峰:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958 ...
- Python入门学习笔记
了解 一下Python中的基本语法,发现挺不适应的,例如变量经常想去指定类型或者if加个括号之类的.这是在MOOC中学习到的知识中一点简单的笔记. Python的变量和数据类型: 1.Python这种 ...
- python入门学习笔记(三)
10.函数 求绝对值的函数 abs(x) 也可以在交互式命令行通过 help(abs) 查看abs函数的帮助信息.调用 abs 函数:>>> abs(100)100>>& ...
- Python入门 学习笔记 (二)
今天学习了一些简单的语法规则,话不多说,开始了: 二.数据类型 常用数据类型中的整形和浮点型就不多说了. 1.字符串 ...
- python入门 -- 学习笔记1
学习资料:笨方法学Python 准备: 安装环境----请自行网络搜索(Windows安装很简单,和其他安装程序一样) 找一个自己习惯的编辑器(比如:sublime text 3) 创建一个专门的目录 ...
- Python入门 学习笔记 (一)
原文地址:http://www.cnblogs.com/lujianwenance/p/5939786.html 说到学习一门语言第一步就是先选定使用的工具(环境).因为本人是个小白,所以征求了一下同 ...
- python入门学习笔记(二)
6.6替换元素 7.tuple类型 7.1创建tuple 7.2创建单元素tuple 7.3"可变"的tuple 8.条件判断和循环 8.1,if语句 8.2,if... ...
- python入门学习笔记(一)
写在开头: A:python的交互式环境 ...
- python入门 -- 学习笔记4
习题38:列表的操作 当你看到像 mystuff.append('hello') 这样的代码时,你事实上已经在 Python 内部激发了一个连锁反应.以下是它的工作原理: 1. Python 看到你用 ...
- python入门 -- 学习笔记3
习题21:函数可以返回东西 过程解析: 1.定义函数:如def add(形参)函数 2.调用函数: add(实参) 别忘记加() 3.在函数调用的时候将实参的值传给形参,代入到函数中进行计算,r ...
随机推荐
- docker学习(三) 安装docker的web可视化管理工具
1.docker是一个一款很轻便的应用容器引擎,为了更好的管理和使用docker,使用web可视化管理工具似乎更符合大多数人的需求.在这里,我给大家分享下自己使用过的几款web工具:docker UI ...
- java基础 -- Collections.sort的两种用法
/** * @author * @version * 类说明 */ package com.jabberchina.test; import java.util.ArrayList; import j ...
- PRO*C 函数事例 3 -- 游标使用
1.Oracle中的游标 Oracle使用两种游标: 显式游标和隐式游标. 不管语句返回多少条记录, Oracle为每条使用的SQL语句隐式地定义一个游标. Oracle为每个DELETE , ...
- 人工智能,图片识别,与GUI编程
GUI编程: https://sourceforge.net/projects/pyqt/ 百度aip图片识别 https://pypi.python.org/pypi/baidu-aip
- Python 3基础教程30-sys模块
本文介绍sys模块,简单打印两个重定向输出. 目前使用机会没有,以后实际用到了,再去研究和学习.
- Jmeter——小性能用例
1.添加默认值,将代理服务器写入 2.添加HTTP请求头,将域名部分用变量形式写入:${__CSVRead(D:/number.txt,0)},这是为了查询不同页面,在D:/number.txt路径下 ...
- 阿里云ECS下基于Centos7.4安装MySQL5.7.20
1.首先登录阿里云ECS服务器,如下图所示: 2.卸载MariaDB 说明:CentOS7.x默认安装MariaDB而不是MySQL,而且yum服务器上也移除了MySQL相关的软件包.因为Maria ...
- SPRITEKIT游戏框架之关于PHYSICS物理引擎属性
Spritekit提供了一个默认的物理模拟系统,用来模拟真实物理世界,可以使得编程者将注意力从力学碰撞和重力模拟的计算中解放出来,通过简单地代码来实现物理碰撞的模拟,而将注意力集中在更需要花费精力的地 ...
- 机器学习/逻辑回归(logistic regression)/--附python代码
个人分类: 机器学习 本文为吴恩达<机器学习>课程的读书笔记,并用python实现. 前一篇讲了线性回归,这一篇讲逻辑回归,有了上一篇的基础,这一篇的内容会显得比较简单. 逻辑回归(log ...
- Queue模块初识
Queue模块实现了多生产者.多消费者队列.它特别适用于信息必须在多个线程间安全地交换的多线程程序中.这个模块中的Queue类实现了所有必须的锁语义.它依赖于Python中线程支持的可用性:参见thr ...