python快速学习1
python简介
python解释器
1.>>>
主提示符 ...
从属提示符用于多行输入
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调试过程中出错,如果关闭调试需要自己手动点击×的标志