Python 3.6

运算符

  • + - * / 四则运算 % 求余 **乘方
  • // 用于整除

字符串

  • 字符串用单引号或双引号括起来。
  • 三引号(单引号或双引号均可)表示多行字符串,行末加反斜杠表示换行不算在字符串之内。
  • 字符串加上前缀 r 表示原生字符串。
  • + 用于连接字符串。
  • * 用于重复字符串。
  • 相邻的字符串字面量会自动连接。
  • 字符串存在片段(slice)语法(使用下标获取子串),但字符串本身不可变。
  • 片段语法中下标 0 指向第一个元素,下标 -1 指向最后一个元素。
>>> 'a' * 3
'aaa'
>>> 'b' 'a'
'ba'
>>> 'b' + "a"
'ba'
>>> print(r'C:\some\name')
C:\some\name
>>> print("""\
a
b
c\
""")
a
b
c
>>> "abcde"[1:]
'bcde'
>>> "abcde"[:4]
'abcd'
>>> "abcde"[:]
'abcde'
>>> "abcde"[-3:]
'cde'

列表(Lists)

  • 列表:一种成员的类型相同但个数不限的数据结构。
  • 列表采用中括号加逗号的特殊语法。
  • + 连接两个列表。
  • 列表存在片段(slice)语法(使用下标获取子列表),列表片段可变(可以通过赋值被替换)。
  • 片段语法中下标 0 指向第一个元素,下标 -1 指向最后一个元素。
>>> [1,2,3][1:]
[2, 3]
>>> [1,2,3][-2:]
[2, 3]
>>> a = [1,2,3,4]
>>> a[2:] = [4,5,6]
>>> a
[1, 2, 4, 5, 6]
>>> a[2:] = []
>>> a
[1, 2]
  • append 方法添加元素。
  • extend 方法连接另一个列表。
  • insert 方法插入元素。
  • remove 方法移除指定元素。
  • pop 方法弹出最后面的元素。
  • clear 方法清空列表。
  • index 方法查找指定元素的下标。
  • count 方法返回列表的长度。
  • reverse 方法翻转列表。
  • copy 方法复制列表。
>>> fruits = ['orange', 'apple', 'pear', 'banana', 'kiwi', 'apple', 'banana']
>>> fruits.count('tangerine')
0
>>> fruits.index('banana')
3
>>> fruits.reverse()
>>> fruits
['banana', 'apple', 'kiwi', 'banana', 'pear', 'apple', 'orange']
>>> fruits.sort()
>>> fruits
['apple', 'apple', 'banana', 'banana', 'kiwi', 'orange', 'pear']
  • 列表解析(List Comprehensions)
>>> [x**2 for x in range(10)]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
>>> [(x, y) for x in [1,2,3] for y in [3,1,4] if x != y]
[(1, 3), (1, 4), (2, 3), (2, 1), (2, 4), (3, 1), (3, 4)]

元组(Tuples)

  • 元组:一种成员数量和次序固定但种类不尽相同的数据结构。
  • 元组采用小括号加逗号的特殊语法。(最外层元组的小括号可省略)
  • 元组是不可变的。
  • 元组存在下标语法。
  • 存在没有任何成员的元组 () 以及只有一个成员的元组 a, (元素后跟一个逗号表示元组)
>>> t = 123,"123"
>>> t[0]
123
>>> t[1]
'123'
>>> u = t, 456
>>> u
((123, '123'), 456)
>>> v = 1,
>>> v
(1,)

解构语法

>>> a,b = [1,2]
>>> a,b
(1, 2)
>>> a,b = (1,2)
>>> a,b
(1, 2)
>>> a,b = b,a
>>> a,b
(2, 1)

集合(Sets)

  • 集合:一种不存在重复元素的哈希表数据结构。
  • 集合采用大括号加逗号的特殊语法。
  • 常用操作包括求差集,并集,交集,对称差集。
  • 存在集合的解析表达式。(set comprehensions)
>>> basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
>>> basket
{'pear', 'orange', 'banana', 'apple'}
>>> a = set('abracadabra')
>>> b = set('alacazam')
>>> a
{'c', 'a', 'r', 'd', 'b'}
>>> b
{'l', 'c', 'a', 'm', 'z'}
>>> a - b # 差集
{'b', 'd', 'r'}
>>> a | b # 并集
{'m', 'l', 'c', 'a', 'r', 'd', 'b', 'z'}
>>> a & b # 交集
{'c', 'a'}
>>> a ^ b # 对称差集
{'d', 'b', 'l', 'm', 'z', 'r'}
>>> {x for x in 'abracadabra' if x not in 'abc'}
{'d', 'r'}

字典(Dictionaries)

  • 字典:一种存放键值对的哈希表数据结构。
  • 字典采用大括号加冒号和逗号的特殊语法。
  • 存在字典的解析表达式。(dictionary comprehensions)
>>> tel = {'jack': 4098, 'sape': 4139}
>>> tel
{'jack': 4098, 'sape': 4139}
>>> tel['jack']
4098
>>> tel['guido'] = 4127
>>> tel
{'jack': 4098, 'sape': 4139, 'guido': 4127}
>>> {x: x**2 for x in (2, 4, 6)}
{2: 4, 4: 16, 6: 36}

range 函数

>>> list(range(5,10))
[5, 6, 7, 8, 9]
>>> list(range(0,10,3))
[0, 3, 6, 9]
>>> list(range(-10,-100,-30))
[-10, -40, -70]

语句

  • while 语句
  • for 语句(实质上是 foreach)
  • if ... elif ... else 语句
  • 代码块采用冒号加缩进来表示
  • pass 语句(空语句)
  • break continue 语句
  • 循环 + else语句(表示循环正常结束,没有被 break)
>>> for n in range(2, 10):
for x in range(2, n):
if n % x == 0:
print(n, 'equals', x, '*', n//x)
break
else:
print(n, 'is a prime number') 2 is a prime number
3 is a prime number
4 equals 2 * 2
5 is a prime number
6 equals 2 * 3
7 is a prime number
8 equals 2 * 4
9 equals 3 * 3

函数

  • 定义函数使用 def。
  • 形参的特殊形式有:带缺省值的形参 arg=value,元组形参 *args,字典形参 **args。
  • 实参的特殊形式有:带关键字的实参 kwarg=value,列表/元组实参 *args,字典实参 **args。
  • 函数可以嵌套。
  • 函数名本身是一个对象。
>>> def f(a, b=2): # 带缺省值的形参
print(a,b) >>> f(3)
3 2
>>> f(a=4) # 带关键字的实参
4 2
>>> d = {"a":3,"b":5}
>>> f(**d) # 字典实参,调用时展开
3 5
>>> def f(k, *args, **kws): # 元组形参,字典形参
print(k)
for arg in args:
print(arg)
for kw in kws:
print(kw, ":", kws[kw]) >>> f("a", 1,2,3, c=4,d="abc") # 调用时 1,2,3 打包成元组,c=4,d="abc" 打包成字典
a
1
2
3
c : 4
d : abc
>>> args = [3,6]
>>> list(range(*args)) # 列表实参,调用时展开
[3, 4, 5]
>>> args = (3,6)
>>> list(range(*args)) # 元组实参,调用时展开
[3, 4, 5]

lambda 表达式

>>> def make_incrementor(n):
return lambda x: x + n >>> f = make_incrementor(42)
>>> f(0)
42
>>> f(1)
43
>>> pairs = [(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')]
>>> pairs.sort(key=lambda pair: pair[1])
>>> pairs
[(4, 'four'), (1, 'one'), (3, 'three'), (2, 'two')]

Python 3 学习笔记(1)的更多相关文章

  1. 【原】Learning Spark (Python版) 学习笔记(三)----工作原理、调优与Spark SQL

    周末的任务是更新Learning Spark系列第三篇,以为自己写不完了,但为了改正拖延症,还是得完成给自己定的任务啊 = =.这三章主要讲Spark的运行过程(本地+集群),性能调优以及Spark ...

  2. Python Click 学习笔记(转)

    原文链接:Python Click 学习笔记 Click 是 Flask 的团队 pallets 开发的优秀开源项目,它为命令行工具的开发封装了大量方法,使开发者只需要专注于功能实现.恰好我最近在开发 ...

  3. 0003.5-20180422-自动化第四章-python基础学习笔记--脚本

    0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...

  4. Python Flask学习笔记之模板

    Python Flask学习笔记之模板 Jinja2模板引擎 默认情况下,Flask在程序文件夹中的templates子文件夹中寻找模板.Flask提供的render_template函数把Jinja ...

  5. Python Flask学习笔记之Hello World

    Python Flask学习笔记之Hello World 安装virtualenv,配置Flask开发环境 virtualenv 虚拟环境是Python解释器的一个私有副本,在这个环境中可以安装私有包 ...

  6. 获取字段唯一值工具- -ArcPy和Python案例学习笔记

    获取字段唯一值工具- -ArcPy和Python案例学习笔记   目的:获取某一字段的唯一值,可以作为工具使用,也可以作为函数调用 联系方式:谢老师,135-4855-4328,xiexiaokui# ...

  7. Python高级学习笔记

    Python高级学习笔记,此笔记中包含Linux操作系统.Html+CSS+JS.网络协议等. 所有思维导图为本人亲手所画,请勿用于商用. 大哥们,求点赞哦. 第一天笔记:链接 第二天笔记:链接 第三 ...

  8. Python入门学习笔记4:他人的博客及他人的学习思路

    看其他人的学习笔记,可以保证自己不走弯路.并且一举两得,即学知识又学方法! 廖雪峰:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958 ...

  9. Python 基础学习笔记(超详细版)

    1.变量 python中变量很简单,不需要指定数据类型,直接使用等号定义就好.python变量里面存的是内存地址,也就是这个值存在内存里面的哪个地方,如果再把这个变量赋值给另一个变量,新的变量通过之前 ...

  10. Python人工智能学习笔记

    Python教程 Python 教程 Python 简介 Python 环境搭建 Python 中文编码 Python 基础语法 Python 变量类型 Python 运算符 Python 条件语句 ...

随机推荐

  1. 【Reporting Services 报表开发】— 怎么根据当前表单的guid作为参数查询相关数据?

    select AId from FilteredA as CRMAF_FilteredA 用这个 作为一个DataSet1 , 然后添加在报表里面添加一个参数 @AId,设置的默认的查询为前面Data ...

  2. hadoop入门篇-hadoop下载安装教程(附图文步骤)

    在前几篇的文章中分别就虚拟系统安装.LINUX系统安装以及hadoop运行服务器的设置等内容写了详细的操作教程,本篇分享的是hadoop的下载安装步骤. 在此之前有必要做一个简单的说明:分享的所有内容 ...

  3. VBox修改uuid

    1.使用VBoxManage命令时,需要先在命令行中切换到VirtualBox的安装目录下 2.修改vdi的uuid:VBoxManage internalcommands sethduuid  D: ...

  4. Django 配置总结

    配置 app urls 项目下的urls.py from django.conf.urls import url,include urlpatterns = [ url(r'^BookApp/', i ...

  5. <<APUE>> 线程

    一个进程在同一时刻只能做一件事情,线程可以把程序设计成在同一时刻能够做多件事情,每个线程处理各自独立的任务.线程包括了表示进程内执行环境必需的信息,包括进程中标识线程的线程ID.一组寄存器值.栈.调度 ...

  6. 修改mui accordion(折叠面板)默认展开收缩行为

    mui的折叠面板 accordion 默认展开收缩逻辑是,展开其中一个的同时收缩起同级已经展开的元素. 实际需求:展开其中一个不必收缩同级元素. 分析mui.js源代码: window.addEven ...

  7. BASIC-17_蓝桥杯_矩阵乘法

    示例代码: #include <stdio.h>#define N 30 int main(void){ int n = 0 , m = 0 , sum = 0; int i = 0 , ...

  8. freemarker 宏嵌套nested 的使用

    转载来源:http://blog.sina.com.cn/s/blog_7e5699790100z59g.html 模板页: <#assign basePath = request.contex ...

  9. Parquet列式存储格式

    Parquet是面向分析型业务的列式存储格式,由Twitter和Cloudera合作开发,2015年5月从Apache的孵化器里毕业成为Apache顶级项目,最新的版本是1.8.0. 列式存储 列式存 ...

  10. HTML5: input:file上传类型控制

    ylbtech-HTML5: input:file上传类型控制   1. 一.input:file 属性返回顶部 一.input:file属性 属性值有以下几个比较常用: accept:表示可以选择的 ...