[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的版本信息,并给出提示符>>>
$ python3.4
Python 3.4 (default, Mar 16 2014, 09:25:04)
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
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 |
a//b a%b |
整除,返回整数除法 取模,返回a/b的余数 |
a/b |
>>> 1//3 |
a**b | 幂运算 | pow(a,b) |
>>> 2**0.5 其中,下划线_代表之前的运算结果,(a+bj)代表复数(a+bi)。 |
( ) | 括号,同C语言 | ( ) |
四、字符串
Python中的“字符串(str)”可以用单引号或双引号括起来,并且单、双引号可以彼此嵌套使用。比如官方文档中的示例:
>>> 'spam eggs' # single quotes
'spam eggs'
>>> 'doesn\'t' # use \' to escape the single quote...
"doesn't"
>>> "doesn't" # ...or use double quotes instead
"doesn't"
>>> '"Yes," he said.'
'"Yes," he said.'
>>> "\"Yes,\" he said."
'"Yes," he said.'
>>> '"Isn\'t," she said.'
'"Isn\'t," she said.'
- 其中,以#开头的部分为行注释
- 单引号中的单引号需要使用转义字符 \ 引导
- 注意12行中的 \ 为转义字符
转义字符还可转义反斜线 '\\' 和换行符 '\n' 。可以使用源字符串(raw strings)来避免反斜线被当作转义字符,只需在字符串前加 r 。
>>> print('C:\some\name') # here \n means newline!
C:\some
ame
>>> print(r'C:\some\name') # note the r before the quote
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'
多行字符串可以使用三个引号括起来。由三个引号括起来的字符串中可以包括直观的换行符。如果在行末加入一个反斜线 \ ,则该反斜线连同后面的换行符将被忽略:
>>> print("""\
... Usage: thingy [OPTIONS]
... -h Display this usage message
... -H hostname Hostname to connect to
... """)
Usage: thingy [OPTIONS]
-h Display this usage message
-H hostname Hostname to connect to >>>
- 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] |
list.insert(n,item) 将item插入到list的第n个位置;若n超出范围,则插入到两边 |
>>> squares=[1,4,9,16,25] |
下面是字符串和列表共有的运算。
运算 | 示例 |
seq1+seq2 连接两个序列 seq*int int*seq 将序列重复若干次 |
>>> 'Happy '+'new year!' |
seq[i] 提取序列中下标为i的元素。此处的下标与C语言类似,第一个元素下标为0,第二个元素下标为1,以此类推。Python中另外有倒数第一个元素下标为-1,倒数第二个元素下标为-2,等等。
|
>>> 'hello'[1] |
seq[begin:end] 截取(slice)序列中从begin(含)到end(不含)处的元素。(使用过C++的标准库的朋友应该熟悉这种规定,即begin为截取部分的首下标,end为尾后下标。)
|
>>> a |
除了上述运算符外,一个经常用到的内置函数len(seq)可以计算字符串或列表的长度。
[Python学习笔记1]Python语言基础 数学运算符 字符串 列表的更多相关文章
- Python学习笔记(一)基础
学习资料 跟着廖雪峰的Python教程学习Python,大家可以去官方网站查看学习教程.使用的Python版本为3.0.x,解释器为CPython.本系列博客为学习笔记,记录跟随廖老师所学知识,同时会 ...
- python学习笔记一 python入门(基础篇)
简单介绍一下python2.x和3.5的区别 print 在python3.5中print 变为print() Old: print * New: print( * ) 如果想要不换行,之前的 ...
- python学习笔记——(一)基础设置
python的学习,今天就开始上开发环境Pycharm,这样以后在调试,使用和学习起来就方便很多. 我用的是JetBrains PyCharm Community Edition 2018.1.1 x ...
- python 学习笔记 9 -- Python强大的自省简析
1. 什么是自省? 自省就是自我评价.自我反省.自我批评.自我调控和自我教育,是孔子提出的一种自我道德修养的方法.他说:“见贤思齐焉,见不贤而内自省也.”(<论语·里仁>)当然,我们今天不 ...
- python学习笔记(一):python简介和入门
最近重新开始学习python,之前也自学过一段时间python,对python还算有点了解,本次重新认识python,也算当写一个小小的教程.一.什么是python?python是一种面向对象.解释型 ...
- python学习笔记(python介绍)
为什么要学python? python和shell的比较,和PHP.和JAVA比较 运维开发只是用到python的很小一部分 python在一些知名公司的应用: 谷歌:python的创始人原来在谷歌工 ...
- python学习笔记:python字符串
二.python字符串操作符 1. 对象标准类型操作符 Python对象的标准类型操作符一共就三种:对象值的比较.对象身份的比较.布尔类型.其中对象值的比较主要是大于.小于.不等于等的数学比较符:对象 ...
- Python学习笔记 - day12 - Python操作NoSQL
NoSQL(非关系型数据库) NoSQL,指的是非关系型的数据库.NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称.用于超大规模数据的存储.(例如 ...
- python 学习笔记一——Python安装和IDLE使用
好吧,一直准备学点啥,前些日子也下好了一些python电子书,但之后又没影了.年龄大了,就是不爱学习了.那就现在开始吧. 安装python 3 Mac OS X会预装python 2,Linux的大多 ...
随机推荐
- VMware8.0虚拟机中安装Ubuntu12.04使用NAT设置连接网络
之前一直尝试使用“桥接”的方法,但是一打开虚拟机,本机windows就断网.最后不得不换种方法,还好尝试了很多遍终于使用NAT设置成功的联网了. 说明:本机windows连接的是无线网. 1.检查自己 ...
- BurpSuite 抓手机包
Windows and Phone 处于同一无线环境下 Windows Phone Burp Suite设置
- mongodb的一些小总结
mongodb的安装,官网下载想要的版本,可视化工具mongovue(注意不支持mongodb3.0以上的版本) 下载mis安装,解压后bin,... 1.配置环境变量,将H:\mongodb\mon ...
- 20169212《Linux内核原理与分析》第五周作业
关于linux内核源码 两个很关键的目录,一个是arch(architecture),支持不同cpu体系架构的源代码,其中最重要的就是x86(一般把x86留下,其他的目录删掉),另一个是init(其中 ...
- 如何实现textarea中获取动态剩余字数的实现
工作中遇到一个案例,之前没有写过,今儿啃了半个下午硬是给写出来,灰常又成就感!当然对于js大牛来说这根本不算啥,但是对于我自己的js能力又向前迈出一小步. 案例介绍:我们常见到有的网站有textare ...
- 怎么解决xp系统不能安装NET Framework4.0?
第一步: 如果是XP系统: 1.开始——运行——输入cmd——回车——在打开的窗口中输入net stop WuAuServ 2.开始——运行——输入%windir% 3.在打开的窗口中有个文件夹叫So ...
- JAVA 多线程随笔 (一) 可见性和volatile关键字
// 先上代码 1 public class NoVisibility { private static boolean ready; private static int number; priva ...
- canvas绘图
1.//获取canvas容器var can = document.getElementById('canvas');//创建一个画布var ctx = can.getContext('2d');2.绘 ...
- guava学习--FutureFallback
FutureFallback提供一个Future的备用来替代之前失败的Future,常被用来作为Future的备份或者默认的值. @Testpublic void testFuturesFallbac ...
- 在Oracle中使用Entity Framework 6 CodeFirst
项目中需要将系统从SQLServer数据库迁移到Oracle上.由于原大部分数据访问操作都是通过包装了Entity Framework的统一访问入口实现的,所以需要研究Entity Framework ...