Python3学习(1)-基础篇
- 安装(MAC)
- 直接运行:
brew install python3
- 输入:python3 --version,查看验证安装是否成功 (一定是python3)
- 直接运行:
- Python解释器
- CPython
- 官网下载的安装包中,会自带此解释器。也是使用最多的解释器。使用C编写的解释器
- 在CPython的基础上增强了交互的解释器,执行Python代码与CPython一致。
- PyPy
- 使用JIT技术,对Python进行动态编译,从而提升Python的执行速度。
- Jython
- 运行在Java平台上的Python解释器,把Python编译成Java的字节码
- IronPython
- 运行与.net平台上的Python解释器,把Python编译成.net的字节码
IPython使用
- CPython
- 编写第一个Python程序且运行Python程序
- 新建一个文件“hello.py”,内容(建议使用工具:Sublime Text、Notepad++):
print('Hello,world!')
- 控制台中进入此文件目录,输入:python3 hello.py
- python3 hello.py:支持Cpython解释器来直接执行hello.py中的源代码文件
- Python基础
- 数据类型
- 整数:Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样。如:1,-1,0,999999
- 浮点数:小数,支持科学计数法,支持任意大小的值。如:1.0,5.0,-1.9,5.1e2
- 字符串:使用单引号、双引号括起来的任意文本。若文本中仍需要单引号或双引号时,可使用转义字符"\"如:'a',"123aaa",'a\'b\''(要表达的字符串:a'b')
- 布尔值:一个布尔值是有True、False两种值,注意大小写。
- 空值:None,与0(数字)是不同的,0是有意义的,None是特殊的空值的。
- 变量
- 由大小写英文、数字或下划线组成,不能以数字开头。如:a12,_a2,a_1123,123a(非法)
- 变量在赋值后,类型不可变更,但值可随意变更
- 常量
- 建议命名全部使用大写字母。如:PI=3.1415926
- 占位符
%d 整数 %s 字符串 %f 浮点数 %x 10进制整数
- 列表
- list:有序集合,如listT=['AAA','BBB','CCC']
- 获取列表中元素个数len(),如:len(listT)-->3
- 直接使用索引,来获取列表中的指定元素内容。从0开始,最后一个元素的索引为总元素个数减1。如:listT[0]-->'AAA',listT[1]-->'BBB'
- 可使用倒数索引。如:listT[-1]-->'CCC',listT[-2]-->'BBB'
- 添加元素,自动追加到未尾append(value)。如:listT.append('DDD'),结果为listT[3]-->'DDD'
- 指定位置添加元素,insert(index,value)。如:listT.insert(1,'insert'),结果为:listT[1]-->'insert',listT[2]-->'BBB'
- 删除未尾元素,pop()。如:list.pop(),结果为listT中的'DDD'元素被删除,listT的长度减1
- 可直接给指定元素赋值或变更值内容。如:listT[0]='BBB',结果为listT的第一个元素变为'BBB'
- 列表中的元素类型可为多种类型,列表中的元素也可为列表(多层嵌套,多维列表)
- 元组
- tuple:元组初始化之后不可修改。如tupleT=('Jack','Leon',"Mike")
- 没有append()、insert()方法,
- 字典
- dict:使用键-值(key-value)存储,具有极快的查找速度。如:
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
- 获取字典中的值。如:d['Michael']-->95
- 给字典中的键重新赋值。如:d['Michael']=100,结果为d['Michael']-->100
- 删除字典中的指定键及值(一并删除),pop('key')。如:d.pop('Bob'),结果为d字典中的d['Michael']=75被删除,仅剩2个键值对
- dict:使用键-值(key-value)存储,具有极快的查找速度。如:
- set
- 数学意义上的无序和无重复元素的集合
- 条件判断
if <条件判断1>:
<执行1>
elif <条件判断2>:
<执行2>
elif <条件判断3>:
<执行3>
else:
<执行4>- 注意:每个判断后都需要有冒号“:”
- 循环
- for...in ...
- 依次把list或tuple中的每个元素迭代出来
names = ['Michael', 'Bob', 'Tracy']
for name in names:
print(name)
- while...
- 只要条件满足,就不断循环,条件不满足时退出循环
sum = 0
n = 99
while n > 0:
sum = sum + n
n = n - 2
print(sum)
- for...in ...
- 数据类型
- 函数
- 函数名、参数、返回值
- 默认参数:在不传递参数时,会有默认值
- 参数
- 可变参数:
*args
是可变参数,args接收的是一个tuple - 关键字参数:
**kw
是关键字参数,kw接收的是一个dict
- 可变参数:
- 一个函数可同时返回多个返回值
import math def move(x, y, step, angle=0):
nx = x + step * math.cos(angle)
ny = y - step * math.sin(angle)
return nx, ny
Python3学习(1)-基础篇的更多相关文章
- Python3学习(3)-高级篇
Python3学习(1)-基础篇 Python3学习(2)-中级篇 Python3学习(3)-高级篇 文件读写 源文件test.txt line1 line2 line3 读取文件内容 f = ope ...
- Python3学习(2)-中级篇
Python3学习(1)-基础篇 Python3学习(2)-中级篇 Python3学习(3)-高级篇 切片:取数组.元组中的部分元素 L=['Jack','Mick','Leon','Jane','A ...
- 一步步学习javascript基础篇(0):开篇索引
索引: 一步步学习javascript基础篇(1):基本概念 一步步学习javascript基础篇(2):作用域和作用域链 一步步学习javascript基础篇(3):Object.Function等 ...
- 一步步学习javascript基础篇(3):Object、Function等引用类型
我们在<一步步学习javascript基础篇(1):基本概念>中简单的介绍了五种基本数据类型Undefined.Null.Boolean.Number和String.今天我们主要介绍下复杂 ...
- Python学习笔记基础篇——总览
Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列 ...
- Python学习笔记——基础篇【第一周】——变量与赋值、用户交互、条件判断、循环控制、数据类型、文本操作
目录 Python第一周笔记 1.学习Python目的 2.Python简史介绍 3.Python3特性 4.Hello World程序 5.变量与赋值 6.用户交互 7.条件判断与缩进 8.循环控制 ...
- java学习笔记-基础篇
Java基础篇 1—12 常识 13 this关键字 14参数传递 16 继承 17 访问权限 28—31异常 1—12 常识 1.文件夹以列表展示,显示扩展名,在地址栏显示全路径 2.javac编译 ...
- Java学习路线-基础篇!
下面以黑马程序员Java学院的学习路线为例,进行一次史无前例的剖析,我会采取连载的形式,细致的讲解零基础的人怎么学习Java.先看下Java在基础阶段的知识点路线图. 内容多吗?不要被吓到了,知识点剖 ...
- 一步步学习javascript基础篇(8):细说事件
终于学到事件了,不知道为何听到“事件”就有一种莫名的兴奋.可能是之前的那些知识点过于枯燥无味吧,说起事件感觉顿时高大上了.今天我们就来好好分析下这个高大上的东西. 可以说,如果没有事件我们的页面就只能 ...
随机推荐
- 转:LoadRunner负载测试之Windows常见性能计数器,分析服务器性能瓶颈
发布于2012-10-8,来源:博客园 监测对象 System(系统) l %Total Processor Time 系统中所有处理器都处于繁忙状态的时间百分比,对于多处理器系统来说,该值可以反映所 ...
- Metasploit更新
Metasploit更新,官方放弃SVN,开始使用GIT 有一段时间没有写文章了,今天翻译一篇文章吧.以后Metasploit更新,请不要再使用下面的方法了 1 svn co https://www. ...
- innerText引发的错误
因为firefox对innerText的不支持,所以以下代码在firefox里运行有错误. //重新加载饼图 ") { var gridView = document.getElementB ...
- JS中插入节点的方法appendChild和insertBefore的应用
1.appendChild() 方法:可以向节点的子节点列表的末尾添加新的子节点.比如:appendChild(newchild)括号里可以是创建的标签var newchild = document. ...
- STL之分配器allocator
简单介绍下STL中的分配器allocators. allocators我们一般不会直接接触到,甚至可能并不清楚它的存在,简单的来说,它就是一个幕后工作者,我的印象中它的作用主要在于为容器分配一定的空间 ...
- MySQL 常用命令(持续更新)
停止启动MySQL服务 停止:net stop mysql启动:net start mysql 查看正在运行的线程 SHOW PROCESSLIST SHOW FULL PROCESSLIST 杀死线 ...
- LeetCode344:Reverse String@Python
Write a function that takes a string as input and returns the string reversed. Example: Given s = &q ...
- vagrant系列教程(三):vagrant搭建的php7环境(转)
原文:http://blog.csdn.net/hel12he/article/details/51107236 前面已经把vagrant的基础知识已经基本过了一遍 了,相信只要按着教程来,你已经搭建 ...
- 【转载】C++ IO库
本篇随笔为转载,原贴地址:<C++ Primer>第8章 IO库 学习笔记. 1.IO类 #include <iostream> istream//从流中读取数据 ostrea ...
- Linux设置静态IP
在做项目时由于公司局域网采用自动获取IP的方式,导到每次服务器重启主机IP都会变化.为了解决这个问题,我参考了http://blog.sina.com.cn/s/blog_537977e50100qh ...