python快速学习1

python简介

python解释器

1.>>>主提示符 ...从属提示符用于多行输入
Markdown
2.python的错误可以被 try或者except捕获
3.python脚本的执行

#! /usr/bin/env python //兼容unix系统的运行
# -*- coding: utf-8 -*- //源文件的代码会被以utf-8来处理

运算符与操作符

1.整形与浮点型运算时,整型自动转换为浮点数
2.后缀带j或者J的就会被视为虚数,或者可以用complex(real, imag)来创建

>>> 3+2j
(3+2j)
>>> complex(3, 2)
(3+2j)
>>>

同时,提取实部与虚部和模

>>> a= complex(1, 2)
>>> a.real
1.0
>>> a.imag
2.0
>>> abs(a)
2.23606797749979

3.计算的时候,最近的一个值会被赋值给_

>>> _
2.23606797749979

字符串

1.用单引号和双引号都可以,引号与特殊字符需要用\转义;
同时单引号内使用双引号不需要转义,反之亦然

>>> 'hallo'
'hallo'
>>> 'hallo\''
"hallo'"
>>> "hallo'"
"hallo'"
>>> 'hallo""'
'hallo""'
>>>

2.字太多了用\换行

>>> name = "song\
... shou\
... li\n"
>>> name
'songshouli\n'
>>> print name
songshouli

>>>

3.字符串操作符+ *
+作用是拼接字符串
* 作用是重复字符串(感觉没多大意义)

>>> Last_name = 'song'
>>> First_name = 'shouli'
>>> print Last_name + First_name
songshouli
>>> print (Last_name + First_name)*5
songshoulisongshoulisongshoulisongshoulisongshouli
>>>

4.字符串可以像matlab中一样直接被切片,切片的序号从0开始

python中的字符串不可变,比如向字符串中某个字符赋值会发生错误;因此只能生成新的字符串

>>> name = 'songshouli'
>>> print name[2:]
ngshouli
>>> name[:4]
'song'
>>> name[0]
's'
>>> name[0:]
'songshouli'
>>> name[1:]
'ongshouli'
>>> name[4:]+name[:4]
'shoulisong'
>>> name[0] = 'x'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment
>>>

可以发现,切片的区间是一个左闭右开的区间 [ : )
同时,如果越界会返回空
索引是负数的情况

>>> name[-1]
'i'
>>> name[:-1]
'songshoul'
>>> name[-6:]
'shouli'
>>>

就是从后往前数从-1开始;同样是左闭右开的区间
切片图

 +---+---+---+---+---+
 | H | e | l | p | A |
 +---+---+---+---+---+
 0   1   2   3   4   5
-5  -4  -3  -2  -1

列表

1.列表使用方法类似字符串

>>> List = ['song', 'shou', 'li']
>>> List
['song', 'shou', 'li']
>>> List[1:]
['shou', 'li']
>>> List[1:-1]
['shou']
>>> List[0] + List[2] + List[1]
'songlishou'  //字符串直接相加
>>> List + ['is', 'good']
['song', 'shou', 'li', 'is', 'good']   //列表可以与列表直接相加
>>> List + List[1]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can only concatenate list (not "str") to list  //列表不能与字符串直接相加
>>>

2.列表允许修改单个的元素(与字符串的不同)

>>> List += ['is','a','good','man']
>>> List
['song', 'shou', 'li', 'is', 'a', 'good', 'man']
>>> List[5] = 'bad'
>>> List
['song', 'shou', 'li', 'is', 'a', 'bad', 'man']
>>>

也可以直接修改列表切片内容

>>> List[:3] = ['Wu', 'Ping']
>>> List
['Wu', 'Ping', 'is', 'a', 'bad', 'man']
>>> List = []
>>> List
[]

3.列表允许嵌套

>>> Big = ['1','2']
>>> Big[1] = ['song','shou','li']
>>> Big
['1', ['song', 'shou', 'li']]

4.可以利用append在列表尾部添加内容

>>> Big[1].append('is')
>>> Big
['1', ['song', 'shou', 'li', 'is']]

例子

斐波那契数列

>>> a, b = 0, 1
>>> while b<100:
...     print b
...     a, b = b, a+b
...
1
1
2
3
5
8
13
21
34
55
89

亮点就在同时赋值这里,省略了临时变量
a, b = b, a+b
如果在C语言中

tmp = b;
b = a+b;
a= tmp;

其实明白这种逻辑的目的就可以了:目的是使下一次的a成为上次的b, 下次的b成为上次的a+b;
由于python中可以同时赋值,所以就不用中间变量过度了

注释

python的注释是用 #

pycharm调试过程中出错,如果关闭调试需要自己手动点击×的标志

posted @ 2017-06-01 19:16  匆霜  阅读(138)  评论(0编辑  收藏  举报