在慕课大学看到南京大学的张莉老师开授Pyhton课程,本文用于记录学习笔记及作业
用的IDE是python(x,y)
主要使用的是里面的Spyder,界面如下图
第一个Python程序
一、国际惯例,用Phthon写HelloWorld
# -*- coding: utf-8 -*-
"""
Created on Thu Apr 14 15:34:41 2016
@author: guya
@date:2016.04.14
"""
print 'hello world'
print "hello world"
print '''hello world'''
输出结果是
print就是Python里的输出语句,后面可以跟上需要输出的字符串。这里需要注意的是Python里的字符串表示有三种,分别是使用单引号' ',双引号" "以及三引号''' ''',其中三引号方式可以进行多行表示。
举例:
# -*- coding: GBK -*-
# 三引号例子
print '''
这是一个三引号的例子'''
二、说完输出,接着说说Python里的输入raw_input
# -*- coding: GBK -*-
# 输出
myString =raw_input("请输入一个字符串:")
print myString
请输入一个字符串:hello world
hello world
>>> type(myString)
# 我是一个Python注释
如果一行写不下,可以利用续行符号拼接
# -*- coding: GBK -*-
# 续行\的例子
if(1<2)and\
(2>43):
print "..."
else:
print "lalala德玛西亚"
# -*- coding: GBK -*-
# 续行\的例子
if(1<2)and(2>43):
print "..."
else:
print "lalala德玛西亚"
>>> runfile(r'D:\Code\Python\week1_demo.py', wdir=r'D:\Code\Python')
lalala德玛西亚
五、关于缩进
Python的缩进需要注意,良好的格式首先便于阅读,其次缩进可以表示代码块,如果缩进不对,例如多了一个空格,程序就会报错。= 0 =
用if语句进行举例
# -*- coding: GBK -*-
# 缩进
if (1==2):
print "扯犊子呢"
elif (1<2):
print "对啊"
else:
print "我无话可说"
>>> runfile(r'D:\Code\Python\week1_demo.py', wdir=r'D:\Code\Python')
对啊
这里注意,一行的开头不要有空格,我在第5行开头多敲了一个空格,请看结果
# -*- coding: GBK -*-
# 缩进
if (1==2):
print "扯犊子呢"
elif (1<2):
print "对啊"
else:
print "我无话可说"
结果报错了
>>> runfile(r'D:\Code\Python\week1_demo.py', wdir=r'D:\Code\Python')
Traceback (most recent call last):
File "", line 1, in
File "C:\Python27\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 523, in runfile
execfile(filename, namespace)
File "D:\Code\Python\week1_demo.py", line 5
elif (1<2):
^
IndentationError: unindent does not match any outer indentation level
一、变量
先定义,后使用,没啥好说的
二、标识符
- 首字符必须是字母或者下划线
- 其余的可以是字母、数字和下划线
- 不要使用关键字
- 大小写敏感(PI和pi不是一个标识符)
三、运算符
没啥好说的,和JAVA差不多
四、表达式
要注意顺序,且表达式需要有结果
举例:
# -*- coding: GBK -*-
# 表达式
a=1;b=2
c=a+b
print "c=a+b,结果是",c
>>> runfile(r'D:\Code\Python\week1_demo.py', wdir=r'D:\Code\Python')
c=a+b,结果是 3
>>>
# -*- coding: GBK -*-
# 赋值
# 变量第一次赋值,同时获得类型和“值”
# Python是动态的强类型语言
# 不需要显式声明,根据值来确定类型
# 以“引用”的方式实现赋值
a=1
b=2
print a
print b
>>> runfile(r'D:\Code\Python\week1_demo.py', wdir=r'D:\Code\Python')
1
2
>>>
举例子
# -*- coding: GBK -*-
# 多重赋值
a=b=3
print "a:",a
print "b:",b
>>> runfile(r'D:\Code\Python\week1_demo.py', wdir=r'D:\Code\Python')
a: 3
b: 3
>>>
语句就是完整完成一个任务要执行的一行逻辑代码,比如输出一行字符串
print "b:",b
语句和表达式的区别是,表达式是语句的一部分。
数据类型
一、整型/长整型
区别是结尾有没有L
>>> a=3
>>> b=3L
>>> type(a)
>>> type(b)
值为True和False,注意首字母大写
三、浮点型
就是数学里的实数,可以使用科学计数法
>>> a=11.11
>>> b=10e2
>>> a
11.11
>>> b
1000.0
>>> type(a)
>>> type(b)
>>>
复数=实数+虚数,虚数后需要加上字母j
可以使用复数.real获得实数部分
可以使用复数.imag获得虚数部分
>>> a=2+3j
>>> type(a)
>>> a.real
2.0
>>> a.imag
3.0
有三种表示方式,单引号,双引号和三引号
print 'hello world'
print "hello world"
print '''hello world'''
类似于JAVA里的MAP,采用键值方式表示,获取值的方法是:字典名[键名]
举例子
>>> dict={'name':'tomy'}
>>> dict['name']
'tomy'
>>>
和JAVA类似,懒得说。
唯一需要注意的是原始字符串操作符r/R,它的作用是保持后面的字符串不变
>>> print "c:\aaa\bbb\ccc"
c:aabb\ccc
注意看,第一个反斜线没了
解决方法有2个:
一个是反斜线\用双反斜线\\表示
>>> print "c:\\aaa\\bbb\\ccc"
c:\aaa\bbb\ccc
>>>
另一个是用原始字符串操作符
>>> print r"c:\aaa\bbb\ccc"
c:\aaa\bbb\ccc
待续...