这个系列是我在学习Python语言的过程中记录的笔记,主要是一些知识点汇总,而非学习教程,可供有一定编程基础者参考。文中偏见和不足难以避免,仅供参考,欢迎批评指正。

本系列笔记主要参考文献是官网文档:http://docs.python.org/。在此向文档编辑者致谢。请勿将本文用于商业用途。

一、Python语言介绍

首先,Python是一种广泛应用的通用高级编程语言,具有较高的抽象层次,支持面向对象的编程方法。其具有高级的数据结构和许多方便的库文件,可以完成文件IO、系统调用、网络编程,甚至有GUI库。Python具有较高的可读性,相对其他程序设计语言(C,C++,Java)来说,可以提高开发效率。然而,作为一种解释型语言(interpreted language),Python在运行效率中的优势并不明显。所以人们经常使用Python完成简单的、高层次的任务,在大型开发中常作为“胶水语言”连接各模块。

Python在Windows和Linux系列操作系统上均可运行。一些版本的Linux中自带了Python程序,其二进制版本也可在其官网上下载:http://www.python.org。(本系列文章叙述的Python使用的版本为3.4.3)

二、使用Python解释器

在控制台中输入命令“python3.4”(或“python”)运行Python的解释器,控制台中打印出Python的版本信息,并给出提示符>>>

1 $ python3.4

2 Python 3.4 (default, Mar 16 2014, 09:25:04)3 [GCC 4.8.2] on linux4 Type "help", "copyright", "credits" or "license" formore information.5 >>>

Python的提示符“>>>”后可输入一条语句,按下回车键执行该语句。如果解释器需要多条语句,它会给出“...”提示符,提示输入后续语句。

Python中的变量不需声明(甚至不需指明类型)即可直接使用。在这里输入语句:

>>>a=1

>>>

即定义了a这个变量。这次输入表达式a,即可显示a的数值:

>>>a1

>>>

三、表达式计算

在这里,可以尝试使用Python来作为计算器,进行一些简单的数值运算。

运算符

解释

C中类似的表达

示例

a+b

a-b

a*b

a/b

加减乘除,除法为浮点除法

a+b

a-b

a*b

a/b

>>> a/3

0.3333333333333333

>>> 2.3+6.9

9.2

>>>

a//b

a%b

整除,返回整数除法

取模,返回a/b的余数

a/b

>>> 1//30>>> 50//3

16

>>>

a**b

幂运算

pow(a,b)

>>> 2**0.5

1.4142135623730951

>>> (-1)**0.5(6.123233995736766e-17+1j)>>> _**2(-1+1.2246467991473532e-16j)>>> 2**100

1267650600228229401496703205376

>>>1j**1j

(0.20787957635076193+0j)

>>>

其中,下划线_代表之前的运算结果,(a+bj)代表复数(a+bi)。

( )

括号,同C语言

( )

四、字符串

Python中的“字符串(str)”可以用单引号或双引号括起来,并且单、双引号可以彼此嵌套使用。比如官方文档中的示例:

1 >>> 'spam eggs' #single quotes

2 'spam eggs'

3 >>> 'doesn\'t' #use \' to escape the single quote...

4 "doesn't"

5 >>> "doesn't" #...or use double quotes instead

6 "doesn't"

7 >>> '"Yes," he said.'

8 '"Yes," he said.'

9 >>> "\"Yes,\" he said."

10 '"Yes," he said.'

11 >>> '"Isn\'t," she said.'

12 '"Isn\'t," she said.'

其中,以#开头的部分为行注释

单引号中的单引号需要使用转义字符 \ 引导

注意12行中的 \ 为转义字符

转义字符还可转义反斜线 '\\' 和换行符 '\n' 。可以使用源字符串(raw strings)来避免反斜线被当作转义字符,只需在字符串前加 r 。

1 >>> print('C:\some\name') #here \n means newline!

2 C:\some3 ame4 >>> print(r'C:\some\name') #note the r before the quote

5 C:\some\name

print函数可以打印参数的值。对于数值,打印其数值;对于字符串,打印其内容。

print函数可以接多个参数,各参数间打印一个空格。比如:

>>> print(1,(-1)**0.5,'hello, world')1 (6.123233995736766e-17+1j) hello, world>>>

print函数会在行末打印一个换行符,可以在最后一个参数处自行指定行末字符(串):

>>> print(1, (-1)**0.5, 'hello, world', end='|')1 (6.123233995736766e-17+1j) hello, world|>>>

字符串还有其他的表示方法。同C的表示方法,以空格或Tab间隔的两个字符串会自动合并起来:

>>>"Hi," 'Py' 'thon'

'Hi,Python'

多行字符串可以使用三个引号括起来。由三个引号括起来的字符串中可以包括直观的换行符。如果在行末加入一个反斜线 \ ,则该反斜线连同后面的换行符将被忽略:

1 >>> print("""\2 ... Usage: thingy [OPTIONS]3 ... -h Display this usage message4 ... -H hostname Hostname to connect to5 ...""")6 Usage: thingy [OPTIONS]7 -h Display this usage message8 -H hostname Hostname to connect to9

10 >>>

2-5行的三个点是提示符

第1行后使用了 \ 实现了续行功能,所以U成为字符串的第一个字符

字符串中的最后一个字符为换行符(第4行末尾的换行符),该换行符被打印到第8行末尾,第9行末尾的换行符是print默认具有的

“字符串”和下面提到的“列表”都是一种“序列(sequence)”,其支持的运算在介绍列表后提到。

五、列表

列表(list)是Python中的一种数据结构,类似于广义表。在Python的语法中,列表表示为由中括号括起来的一组逗号隔开的元素。元素的类型也可以是列表。不同元素的类型允许不同。

>>> squares = [1*1, 2*2, 3*3, 4*4, 5*5]>>>squares

[1, 4, 9, 16, 25]>>>[squares,0]

[[1, 4, 9, 16, 25], 0]>>>

list对象有一些“方法(method)”,通过调用可以对列表内容进行更改:

方法

示例

list.append(item)

将item元素插入到list最后面

>>> squares=[1,4,9,16,25]>>> squares.append(36)>>>squares

[1, 4, 9, 16, 25, 36]>>>

list.insert(n,item)

将item插入到list的第n个位置;若n超出范围,则插入到两边

>>> squares=[1,4,9,16,25]>>> squares.insert(3,0)>>>squares

[1, 4, 9, 0, 16, 25]>>>

下面是字符串和列表共有的运算。

运算

示例

seq1+seq2

连接两个序列

seq*int

int*seq

将序列重复若干次

>>> 'Happy'+'new year!'

'Happy new year!'

>>> [2]+[3]*2[2, 3, 3]>>>

seq[i]

提取序列中下标为i的元素。此处的下标与C语言类似,第一个元素下标为0,第二个元素下标为1,以此类推。Python中另外有倒数第一个元素下标为-1,倒数第二个元素下标为-2,等等。

如果下标越界,则会产生错误

特别地,字符串内的元素是只读的,类似'hello'[0]=0的语句会产生错误

>>> 'hello'[1]'e'

>>> a=[1,2,3,4,4]>>> a[4]=5

>>>a

[1, 2, 3, 4, 5]>>>

seq[begin:end]

截取(slice)序列中从begin(含)到end(不含)处的元素。(使用过C++的标准库的朋友应该熟悉这种规定,即begin为截取部分的首下标,end为尾后下标。)

该运算不会产生下标越界错误,而是可能返回空序列(空字符串''或空列表[])

该运算返回原序列的一个拷贝,即把截取部分赋值给其他变量,则通过新变量对新序列的修改不会影响原序列的内容

可以通过省略begin和/或end来隐式指定开头和结尾(示例第7行)

可以通过对该表达式的赋值更改原序列的内容(示例第7行)

1 >>>a2 [2, 3, 4]3 >>> a=[1,2,3,4,5]4 >>> b=a[1:3]5 >>>b6 [2, 3]7 >>> b[:]=[]8 >>>b9 []10 >>>a11 [1, 2, 3, 4, 5]12 >>>

除了上述运算符外,一个经常用到的内置函数len(seq)可以计算字符串或列表的长度。

python字符串与列表与运算_[Python学习笔记1]Python语言基础 数学运算符 字符串 列表...相关推荐

  1. python爬小说一本一本爬_【学习笔记】Python爬取某一本小说

    本帖最后由 流浪的二胡 于 2018-10-23 20:19 编辑 最近刀剑神域第三季真的不错,无奈动画一周才更新一次,索性就想先把原著小说看了解解馋. 于是就找到了这个小说网站:http://www ...

  2. python里面两个大于号_【课堂笔记】Python常用的数值类型有哪些?

    学习了视频课程<财务Python基础>,小编特为大家归纳了Python常用的数值类型和运算符,大家一起来查缺补漏吧~~ 数值类型 整型(int):整型对应我们现实世界的整数,比如1,2,1 ...

  3. Web前端技术开发学习笔记(HTML标记语言篇)——第5章 列表标记

    第5章 列表标记 5.1 有序列表 5.1.1 有序列表的前导符设置 5.1.2 有序列表的前导符起始编号设置 5.2 无序列表 5.2.2 项目列表的前导符设置 5.2.3 定义列表 5.3 嵌套列 ...

  4. python while循环例题_【学习笔记】python:5for循环与while循环(上)

    点击上方蓝字,关注我吧 课 程 表 for循环代发格式 for循环的3个要点即是:1.空房间:2.一群等着办业务的人:3.业务流程 空房间的学名叫[元素](item),你可以把它当成是一个变量.那么首 ...

  5. python怎样使用各个日期赤纬_天文数据处理笔记之python(3)

    今天介绍的主要是赤经赤纬相关内容,里面用到的csv文件和data文件课程官网没提供链接,各位只能去官网提供的平台练习,或者要是自己有类似的数据文件也可以拿来练习.第一节用到的fit文件已经从官网上提供 ...

  6. python中静态变量和静态方法_【开发者笔记】python中的类方法(@classmethod)和静态方法(@staticmethod)...

    在java.c#等高级语言中我们用static来定义静态方法和静态变量,那么在python中如何定义静态方法和静态变量呢. python提供了@classmethod和@staticmethod来定义 ...

  7. python套接字socket的作用_【学习笔记】python实现的套接字socket

    #############2014.5.13 update############## #更新了多进程服务端的bug:客户端强行关闭会出错# ############################# ...

  8. python绘制三维地形_【学习笔记】Python科学计算三维可视化(黄天羽、嵩天)(学习中。。)|python基础教程|python入门|python教程...

    0 导学 目的:掌握利用三维效果表达科学和工程数据的能力 传播一种思想:可视化技术是数据之眼 内容组织: 流体数据的标量可视化.矢量可视化实例 三维扫描数据(模型/地形)可视化实例 三维地球场景可视化 ...

  9. python函数笔记_小白学习笔记之Python函数(一)

    遍历字典 keys() 返回字典的所有的key d={'name':'葫芦娃','age':'7','gender':'男'} for k in d.keys(): print(k) #name,ag ...

最新文章

  1. 第一次作业:Linux 2.6.32的进程模型与调度器分析
  2. Git之深入解析如何使用Git调试项目源码中的问题
  3. 老布特木糖醇蛋卷鸡蛋味
  4. [html] 页面的重绘和回流是什么?
  5. 工作341:uni-表头不显示
  6. Pandas 中的这 3 个函数,没想到竟成了我数据处理的主力
  7. 操作系统 生产者消费者问题解释
  8. vue怎么合并两个视频_vue怎么把照片合并视频
  9. ssm+爱尚购物 毕业设计-附源码211622
  10. 学生考勤及行为管理系统_学生考勤信息管理系统.doc
  11. Unity贴图ASTC压缩格式
  12. 【技术贴】关于IE主页被篡改、假IE的根治方法。。。
  13. 简述什么是“零信任”
  14. python爬虫获取网站销售情况(内置源码)
  15. java计算机毕业设计高铁在线购票系统MyBatis+系统+LW文档+源码+调试部署
  16. 闭式系统蒸汽管径推荐速度_蒸汽管道的设计选型
  17. 如何1年赚100万,具体点
  18. 全国省级常住人口搜集指南
  19. python-如何爬取天猫店铺的商品信息
  20. [导入]梦幻快车(DreamMail) v4.0 正式版 ?

热门文章

  1. [codevs 1237] 餐巾计划问题
  2. Codeforces 1329 题解
  3. esd管 低cj要求_TVS管与ESD保护二极管的区别,联系以及应用
  4. asp向不同的用户发送信息_ASP.NET Core 中的那些认证中间件及一些重要知识点
  5. 2021-05-19 一个简单有趣的LQR控制可视化例子及代码
  6. 2020-10-11 LMI线性矩阵不等式的一些知识
  7. 二级联动菜单(javascript)
  8. 实战ELK(5) Logstash 入门
  9. MySQL存储引擎之Myisam和Innodb总结性梳理
  10. 【leetcode】Word Break(python)