古城堡 发表于 2017-4-26 11:08:08

Python复习笔记—基本语法

  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
' world'
>>> helloworld
'w'
>>>
>>> helloworld
'world'
>>> helloworld
'lo'
>>> helloworld[-1]
'd'
>>> helloworld[-2:3]
''
>>> helloworld[:-6]
'hello'
>>> helloworld[-0]
'h'
>>> helloworld
''
>>> helloworld
'ello world'
>>> helloworld
''
>>> helloworld
Traceback (most recent call last):
File "<pyshell#77>", line 1, in <module>
helloworld
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 + ['very'] * 2
['egg', 'hurt', 'very', 'very']
>>> lista
3.14

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

>>> lista
['egg', 'hurt', 2, 3.14]
>>>
>>> lista=['foo', 1.72] # replacement
>>> lista
['foo', 1.72, 2, 3.14]
>>> lista = [] #add list as an element
>>> lista
[[], 1.72, 2, 3.14]
>>> lista = [] #clear elements between 0 and 1
>>> lista

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

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

>>> 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 :
print i,

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

>>> odds =
>>> for i in odds[:] : #make a slice copy of entire list
if (0 == i % 2) :
odds.remove(i)
>>> odds


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

>>> range(5)

>>> range(2, 10)

>>> range(3, 15, 3)

>>> 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确定是否是同一对象。
页: [1]
查看完整版本: Python复习笔记—基本语法