python基本语法笔记_Python复习笔记—基本语法

news/2024/7/16 8:52:42

3年前用过Python,现在忘的差不多了,现在项目又用到它了,重新拾起来,记录笔记以方便以后的重拾。

1. Python脚本

脚本提示符:

#! /usr/bin/env python

2. 语言基础

2.1 Numbers

i. Python的整数相除是向上取整

>>> 7/3

2

>>> 7/-3

-3

ii. 复数用(real+imagj),或complex(real, imag)创建

2.2 Strings

i. 单引号(')和双引号(")均可表示字符串

ii. 多行可以用三个引号(""")标识开始和结束

iii. 常量字符串前加r表示raw字符串,内容将不会转义

>>> rawstring = r'raw string \n \t \r keeps'

>>> print rawstring

raw string \n \t \r keeps

iv. 字符串可以用加号(+)连接(常量字符串之间可以省略),且可以重复(*)

>>> repeat = 'I' ' Love' * 3 + ' Python'

>>> print repeat

I LoveI LoveI Love Python

v. 字符串切割(slice)

字符串可以被任意切割,如果范围不正确或超过范围返回空字符串,但下标访问超过范围会抛异常

>>> helloworld = 'hello world'

>>>

>>> helloworld[5:]

' world'

>>> helloworld[6]

'w'

>>>

>>> helloworld[6:]

'world'

>>> helloworld[3:5]

'lo'

>>> helloworld[-1]

'd'

>>> helloworld[-2:3]

''

>>> helloworld[:-6]

'hello'

>>> helloworld[-0]

'h'

>>> helloworld[30:]

''

>>> helloworld[1:100]

'ello world'

>>> helloworld[6:2]

''

>>> helloworld[30]

Traceback (most recent call last):

File "", line 1, in

helloworld[30]

IndexError: string index out of range

2.3 Lists

i. Python的List的元素可以不为不同类型

>>> lista = ['egg', 'hurt', 2, 3.14]

>>> lista

['egg', 'hurt', 2, 3.14]

ii. List可以像字符串一样随意切割,重复,下标访问

>>> lista[0:2] + ['very'] * 2

['egg', 'hurt', 'very', 'very']

>>> lista[3]

3.14

iii. List的替换、插入、赋值、清空

>>> lista

['egg', 'hurt', 2, 3.14]

>>>

>>> lista[0:2]=['foo', 1.72] # replacement

>>> lista

['foo', 1.72, 2, 3.14]

>>> lista[0] = [] #add list as an element

>>> lista

[[], 1.72, 2, 3.14]

>>> lista[0:1] = [] #clear elements between 0 and 1

>>> lista

[1.72, 2, 3.14]

>>> lista[1:1] = ['sec', 'third'] #insert two elements at index 1

>>> lista

[1.72, 'sec', 'third', 2, 3.14]

>>> lista[:0] = lista #make a copy of itself

>>> lista

[1.72, 'sec', 'third', 2, 3.14, 1.72, 'sec', 'third', 2, 3.14]

>>> lista[:] = [] #clear

>>> lista

[]

>>> len(lista)

0

2.4 控制流

i. if...elif..else

>>> def whatx(x) :

if x > 0 :

print 'positive'

elif x == 0 :

print 'zero'

else :

print 'negative'

>>> whatx(-3)

negative

ii. for...in

>>> for i in [1, 2, 3, 4, 5] :

print i,

1 2 3 4 5

和其他语言一样在循环的时候添加删除元素是不安全的,Python可以隐式的拷贝一个List

>>> odds = [1, 3, 4, 7]

>>> for i in odds[:] : #make a slice copy of entire list

if (0 == i % 2) :

odds.remove(i)

>>> odds

[1, 3, 7]

iii. Range,可指定起始,步长

>>> range(5)

[0, 1, 2, 3, 4]

>>> range(2, 10)

[2, 3, 4, 5, 6, 7, 8, 9]

>>> range(3, 15, 3)

[3, 6, 9, 12]

>>> range(-5, -30, -5)

[-5, -10, -15, -20, -25]

iv. Pass占位符

Pass什么都不做,只是让语法通过,

>>> class Non :

pass # minimal class for indicate a status

>>> def foo() :

pass # remember implement this

>>>

v. 赋值

Python可以一次给多个变量赋值

>>> x, y, z = 1, 5, 7

>>> x

1

>>> y

5

>>> z

7

vi. == 和is

==相当于equals,而is确定是否是同一对象。

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2012-07-06 16:10

浏览 2456

评论


http://www.niftyadmin.cn/n/4640179.html

相关文章

java stringutils_JAVA基础:StringUtils使用方法说明

Apache StringUtils 用法主要是操作字符串的访求,网上发现也不少,目前只是根据自己的需要边用边记载rightPad*StringUtils.rightPad(null, *, *) null* StringUtils.rightPad("", 3, ’z’) &q…

java无人售货_CONTRIBUTING.md

# 代码贡献指南1. 首先非常欢迎和感谢对本项目发起Pull Request的同学。1. **特别提示:请务必在develop分支提交PR,master分支目前仅是正式版的代码,即发布正式版本后才会从develop分支进行合并。**1. 本项目代码风格为使用2个空格代表一个Ta…

TCP SNMP counters netstat -s 各项参数意义

转自 roveryu.blog.chinaunix.net 最近在总结2.6.32与2.6.18的差异,我特别有兴趣的是网络部分,但猛然发现其实SNMP counters我也并不能准确解释它们的含义,于是就有了以下总结,还不完整,持续总结中:加粗的项…

java deque 用法_Java ArrayDeque使用方法详解

题目要求为:卡拉兹(Callatz)猜想:对任何一个自然数n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把(3n1)砍掉一半。这样一直反复砍下去,最后一定在某一步得到n1。当我们验证卡拉兹猜想的时…

java 多重判断_在深圳IO中 多重判断 及 循环 的实现

其实一开始我也没完全理解这个语言的写法,后来才理解各种判断的实现。先写一段类似java的程序:if (a>b){mov 0 p1;if (c>d){mov 100 p0;}else{mov 0 p0;}}else{mov 100 p1;}mov 50 p3;这段程序在深圳IO中的汇编语言是这样实现:tgt a b-…

如何使用Navicat连接阿里云内网数据库。

如何使用Navicat连接阿里云内网数据库。打开Navicat点击连接,填写数据库相关信息。选择SSH模块,勾选时候SSH通道。填写服务器的相关信息。点击确定,这就是使用Navicat连接阿里云内网数据库。注:使用内网地址登录数据库&#xff0c…

java已更名为_Java EE已更名为Jakarta EE(雅加达?)你能接受这个新名字吗?

源| 综合自IT168、科技美学Eclipse基金会社区已将Java EE正式更名为Jakarta EE。这个名字来自于Jakarta,一个早期的Apache开源项目。Eclipse基金会执行董事Mike Milinkovich在博客中表示,希望开发者以后提到这个开源软件平台时,可以将它称之为…

[Hadoop 周边] 浅谈大数据(hadoop)和移动开发(Android、IOS)开发前景【转】

原文链接:http://www.d1net.com/bigdata/news/345893.html 先简单的做个自我介绍,我是云6期的,黑马相比其它培训机构的好偶就不在这里说,想比大家都比我清楚; 经常遇到有人问我大数据前景如何、大数据和Android、iOS对…