[Python学习笔记1]Python语言基础 数学运算符 字符串 列表


这个系列是我在学习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 linux
4 Type "help", "copyright", "credits" or "license" for more information.
5 >>>

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

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

>>>a=1
>>>

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

>>> a
1
>>>

三、表达式计算

在这里,可以尝试使用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//3
0
>>> 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:\some
3 ame
4 >>> 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 message
 4 ...      -H hostname               Hostname to connect to
 5 ... """)
 6 Usage: thingy [OPTIONS]
 7      -h                        Display this usage message
 8      -H hostname               Hostname to connect to
 9
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 >>> a
 2 [2, 3, 4]
 3 >>> a=[1,2,3,4,5]
 4 >>> b=a[1:3]
 5 >>> b
 6 [2, 3]
 7 >>> b[:]=[]
 8 >>> b
 9 []
10 >>> a
11 [1, 2, 3, 4, 5]
12 >>>

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

时间: 2024-12-06 02:24:35

[Python学习笔记1]Python语言基础 数学运算符 字符串 列表的相关文章

python 学习笔记 7 -- Python关键字总结

0.写在前面的话 学习一门语言最重要的功课是练习与复习,在<笨方法学Python>中第三十七节虽然没有教你任何内容,但是它提醒我们:"学了这么多,你还能记得多少?该复习了!" 下面我们就对这一节的第一部分"关键字"来做个复习: Python中的关键字包括如下: and       del        from      not      while    as        elif       global    or       with     

python学习笔记2—python文件类型、变量、数值、字符串、元组、列表、字典

python学习笔记2--python文件类型.变量.数值.字符串.元组.列表.字典 一.Python文件类型 1.源代码 python源代码文件以.py为扩展名,由pyton程序解释,不需要编译 [[email protected] day01]# vim 1.py #!/usr/bin/python        print 'hello world!' [[email protected] day01]# python 1.py hello world! 2.字节代码 Python源码文件

python学习笔记三之下(基础篇)

文件操作 打开文件 open(name[,mode[,buffering]])   open函数使用一个文件名作为强制参数,然后返回一个文件对象.python 3.5 把file()删除掉 with open(somefile.txt,'r') as files: do_something(files) with 语句打开文件并把值赋值到变量,之后可以对文件操作.文件在语句结束之后会自动关闭,即使异常引起也会退出. 文件模式 r   #只读模式(默认) w(>) #写模式 a (>>) 

python学习笔记(一):python简介和入门

最近重新开始学习python,之前也自学过一段时间python,对python还算有点了解,本次重新认识python,也算当写一个小小的教程.一.什么是python?python是一种面向对象.解释型的计算机语言,它的特点是语法简洁.优雅.简单易学.在1989诞生,Guido(龟叔)开发.这里的python并不是蟒蛇的意思,而是龟叔非常喜欢一部叫做<Monty Python飞行马戏团>的电视剧,所以以python命名(老外就是这么任性).二.解释型语言和编译型语言编译型语言就是先把写好的程序翻

python学习笔记:python字符串

二.python字符串操作符 1. 对象标准类型操作符 Python对象的标准类型操作符一共就三种:对象值的比较.对象身份的比较.布尔类型.其中对象值的比较主要是大于.小于.不等于等的数学比较符:对象身份的比较主要是is和is not这两个符号:布尔类型主要是not.and.or等的逻辑运算符. 字符串标准类型操作符也是这些,在做比较操作的时候,字符串是按照ASCII值的大小来比较的. 2. 序列类型操作符 切片操作符 主要分为三种,分别是正向索引.反向索引.默认索引.下图中显示索引的编号: 注

python学习笔记(python介绍)

为什么要学python? python和shell的比较,和PHP.和JAVA比较 运维开发只是用到python的很小一部分 python在一些知名公司的应用: 谷歌:python的创始人原来在谷歌工作. CIA:美国中情局网站用python开发的 NASA:大量使用python进行数据分析和运算 YouTube:世界上最大的视频网站youtube是用python开发的 Dropbox:美国最大的在线云存储网站,全部用python实现 instagram:美国最大的图片分享社交网站,全部用pyt

python学习笔记(python发展介绍)

一.python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum) 目前python主要应用领域: ·云计算 ·WEB开发 ·科学运算.人工智能 ·系统运维 ·金融:量化交易,金融分析等,作为动态语言的python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛 ·图形GUI python是一门什么样的语言? 编程语言主要从以下几个角度进行分类,编译型和解释型.静态语言和动态语言.强类型定义语言和弱类型定义语言. 编译型和解释型 编译型,如:c,c++,

非专业码农 JAVA学习笔记 2 java语言基础

java语言基础 (一)程序构成 略 (二)数据类型变量和常量 1.数据类型(与c#差不多) 布尔bool 8位 字节byte 8   -128-127 字符char 16 短整型Short 16 Int 32 Long 64 Float 32 Double 64 2.标识符-变量常量方法对象和类的名字标记 字母数字 还有两个特殊符号_ 和$ 字母下划线或者美元符号开头 3.常量 4.变量 (三)表达式 1.赋值和强制类型转换 Tostring()弱转换 类型=(类型)变量:a=(int)b;a

Python学习笔记19:服务器基础

一 TCP/IP和socket 我们需要对网络传输,特别是TCP/IP协议和socket有一定的了解. socket是进程间通信的一种方法,它是基于网络传输协议的上层接口. socket有许多种类型,比如基于TCP协议或者UDP协议(两种网络传输协议).其中又以TCP socket最为常用. TCP socket与双向管道(duplex PIPE)有些类似,一个进程向socket的一端写入或读取文本流,而另一个进程可以从socket的另一端读取或写入, 比较特别是,这两个建立socket通信的进