python起步输入-[转载]python核心编程学习笔记-python起步
python通过两种方式来实现你的需求:语句和表达式
语句:使用关键字组成命令
>>>
print 'Hello wolrd!'
Hello wolrd!
表达式:可以是算术表达式或函数
>>>
abs(-4)
4
>>>
abs(4)
4
2.1、程序输出,print语句及”hello world”
>>>
mystring="hello world"
>>>
print mystring
hello world
>>>
mystring
#在交互式解释器里可直接输入变量名
'hello world'
注:print语句调用str()函数显示对象,交互式解释器调用repr()函数显示对象。
2.2、程序输入和raw_input()内建函数
>>>
_
#下划线在解释器中表示最后一个表达式的值
'hello world'
print语句与字符串格式运算符“%”结合使用,实现字符串替换功能:
>>>
print "%s is number %d!" % ("python",1)
python is number 1!
%s表示一个字符串来替换,%d表示一个整数替换,%f表示一个浮点数替换
Print语句支持将输出重定向文件,符号”>>”重定向:
>>>
import sys
>>>
print >> sys.stderr, 'Fatal
error:invalid input!'
Fatal error:invalid input!
[root@localhost tmp]# more
log.txt
11111
>>>
logfile=open('/tmp/log.txt','a')
#open打开文件,a表示add添加
>>>
print >> logfile,'fatal error:invalid
input!'
>>>
logfile.close()
[root@localhost tmp]# more
log.txt
11111
fatal error:invalid input!
内建函数:raw_input
获取用户数据输入,读取标准输入并赋值给指定变量
>>>
user=raw_input('Enter login name:')
Enter login name:root
>>>
print 'Your login is:',user
Your login is: root
使用int()内建函数可将用户输入的数值字符串转换为整数:
>>>
num=raw_input('Now enter a number:')
Now enter a number:2012
>>>
print 'Doubling your number:%d' % (int(num) * 2)
Doubling your number:4024
查看函数帮助信息:help()
>>>
help(raw_input)
Help on built-in function raw_input in module
__builtin__:
raw_input(...)
raw_input([prompt]) -> string
Read a string from standard input. The trailing newline
is stripped.
If the user hits EOF (Unix: Ctl-D, Windows: Ctl-Z+Return), raise
EOFError.
On Unix, GNU readline is used if enabled. The prompt string, if
given,
is printed without a trailing newline before
reading.
(END)
2.3、注释
和shell一样,用”#”标示注释
>>>
#one comment
... print 'Hello World!'
Hello World!
DocStrings:文档字符串的惯例是一个多行字符串,它的首行以大写字母开始,句号结尾。第二行是空行,从第三行开始是详细的描述。适用于函数、模块、类。
>>>
def foo():
...
"this is a doc string." #此行为文档子字符串,这里没有按照惯例
...
return True
...
>>>
foo()
True
foo.__doc__
#打印函数foo的__doc__属性
this is a doc string.
>>>
help(foo)
#也可以使用help打印,输入help()也会显示自身__doc__属性
Help on function foo in module
__main__:
foo()
this is a doc
string.
2.4、运算符
算术运算符:+ - * /
//(浮点除法,四舍五入) %(取余)
**(乘方)
>>>
print -2*4+3**2
1
优先级:**最高,*、/、
//、%、+、-
比较运算符:<
<=
>
>= == !=
<>(不等于,python3取消了)
比较运算符结果返回布尔值:True,False
>>>
2<4
True
>>>
2==4
False
>>>
2>4
False
>>>
6.2<=6
False
>>>
6.2<=6.2
True
>>>
6.2<=6.201
True
逻辑运算符:and、or、not
>>>
2<4 and 2==4
False
>>>
2<4 or 2==4
True
>>>
not 6.2 <=6
True
>>>
3<4<5
True
>>>
3<4 and 4<5
True
2.5、变量和赋值
变量名由字母、数字、下划线组成,大小写敏感;
变量赋值通过等号”=”执行;
>>>
counter=0
#整数赋值
>>>
miles=1000.0
#浮点赋值
>>>
name='Bob'
#字符串赋值
>>>
counter=counter+1 #整数加1
>>>
kilometers=1.609*miles
#浮点数乘法赋值
>>>
print '%f miles is the same as %f km' %
(miles,kilometers)
1000.000000 miles is the same as 1609.000000
km
>>>
n=1
>>>
n=n*10
>>>
print n
10
>>>
>>>
n*=10
#增量赋值,运算符和等号合并
>>>
print n
100
注:Python不支持c语言的自增、自减运算符,+/-也是单目运算符,--n会解释为-(-n)等于n,++n同上结果为n;
2.6、数字
Python支持5种基本数字类型,三种为整数类型:
Int(有符号整数)
long(长整数)
#在python3中取消了long型
bool(布尔值)
float(浮点值)
complex(复数)
decimal:十进制数浮点型,非内建类型,需导入模板才可使用
>>>
1.1
1.1000000000000001
>>>
import decimal
>>>
print decimal.Decimal('1.1')
1.1
2.7、字符串
字符串定义为引号之间的字符合集,支持成对的单引号,双引号,三引号(三个连续的单/双引号)。
使用索引运算符”[
]”、切片运算符”[ : ]”取得子字符串。字符串索引规则:第一个字符索引是0,最后一个字符串索引是-1。
加号”+”用于字符串连接运算,星号”*”用于字符串重复。
>>>
pystr='python'
>>>
iscool='is cool!'
>>>
pystr[0]
#取第一个字符
'p'
>>>
pystr[2:5]
#取第三个到第五个字符
'tho'
>>>
iscool[:2]
#1到2字符
'is'
>>> iscool[3:]
#第四个到最后
'cool!'
>>>
iscool[-1]
#最后一个字符
'!'
>>>
pystr+iscool
#连接两个变量字符串
'pythonis cool!'
# pythonis没有空格
>>> pystr+'
'+iscool
#添加一个空格
'python is cool!'
>>>
pystr*2
#字符串乘2等于2倍字符串
'pythonpython'
>>>
'-'*20
#20个横杠字符
'--------------------'
>>>
pystr='''python
#三引号实例
... is cool'''
>>>
pystr
'pythonnis cool'
#变量直接输出会显示n换行符
pystr
#print打印多行
python
is cool
2.8、列表和元组
可看成数组,能保存任意数量任意类型的python对象,索引也是从0开始。
列表和元组的区别:
列表元素用中括号”[
]”包裹,元素个数及值可以改变;
元组元素用小括号”(
)”包裹,元素不可以更改,可看成只读列表;
都使用索引运算符”[
]”、切片运算符”[ : ]”取得子集;
列表实例:
>>>
list=[1,2,3,4]
>>>
list
[1, 2, 3, 4]
>>>
list[0]
1
>>>
list[2:]
[3, 4]
>>>
list[:3]
[1, 2, 3]
>>>
list[1]=6
>>>
list
[1, 6, 3, 4]
元组实例:
>>>
tuple=('robots',77,88,'try')
>>>
tuple
('robots', 77, 88, 'try')
>>>
tuple[:2]
('robots', 77)
>>>
tuple[1]=3
#元组赋值报错
Traceback (most recent call
last):
File
"", line 1, in
?
TypeError: object does not support item
assignment
2.9、字典
字典是python中的映射数据类型,由键-值(key-value)对构成。几乎所有类型的python对象都可用作键值,数字和字符串最常用。
字典元素用大括号”{
}”包裹。
>>>
dict={'host':'earth'}
>>>
dict['port']=80
>>>
dict
{'host': 'earth', 'port': 80}
>>>
dict.keys()
['host', 'port']
>>>
dict['host']
'earth'
>>>
for key in dict:
...
print key,dict[key]
...
host earth
port 80
2.10、代码块及缩进对齐
python语言是通过缩进对齐表达代码逻辑,不使用大括号,缩进方式可选择tab或空格,这种方式的好处不言而喻,一是简洁美观,二可读性好。
2.11、if语句
if
expression:
#表达式值为非0或布尔值True,则执行代码组if_suite,否则执行下一条
if_suite
>>>
x=3
>>>
if x<5:
...
print 'x is %d' % (x)
...
x is 3
if语句支持else、elif于语句:
if
expression1:
if_suite
elif expression2:
elif_suite
else:
else_suite
2.12、while循环,类似if语法
while
expression:
while_suite
>>>
counter=0
>>>
while counter<3:
...
print 'loop #%d' % (counter)
...
counter+=1
...
loop #0
loop #1
loop #2
2.13、for循环和range()内建函数
>>>
for item in
['e-mail','net-surfing','homework','chat']:
...
print item,
...
...
net-surfing
homework
chat
print语句通过加入逗号实现添加空格:
>>>
who='knights'
>>>
what='Ni!'
>>>
print 'We are the',who,'who say',what,what,what
We are the knights who say Ni! Ni!
Ni!
>>> print 'We
are the %s who say %s' %
#””换行
... (who,((what+' ')*4))
We are the knights who say Ni! Ni! Ni!
Ni!
>>> for
eachnum in range(3):
#range内建函数
...
print eachnum
...
0
1
2
字符串迭代:
>>>
foo='abc'
>>>
for c in foo:
...
print c
...
a
b
c
range()和len()函数用于字符串索引:
>>>
foo='abc'
>>>
for i in range(len(foo)):
...
print foo[i],'(%d)' % i
...
a (0)
b (1)
c (2)
enumerate()函数同时循环索引和元素:
>>>
for i,ch in enumerate(foo):
...
print ch,'(%d)' % i
...
a (0)
b (1)
c (2)
2.14、列表解析
可以在一行中使用一个for循环将所有值放到一个列表当中:
>>>
squared=[x ** 2 for x in range(4)]
>>>
for i in squared:
...
print i
...
0
1
4
9
2.15、文件和内建函数open()、file()
hand=open(file_name,
access_mode=’r’)
file_name变量为打开文件的字符串名字
access_mode中”r”表读取,”w” 表写入,“a”表添加,”+”表读写,”b”表二进制访问,默认为”r”
如果open()成功,一个文件对象句柄会被返回,所有后续的文件操作都必须通过此文件句柄进行。当一个对象返回后,就可以访问它的一些方法,如readlines(),close() . 文件对象的方法属性也必须通过句点属性标识法访问。
属性是与数据有关的项目,属性可以是简单的数据值,也可以是执行对象,如函数和方法。类、模块、文件、复数等对象都拥有属性。通过使用句点属性标识法来访问对象属性:object.attribute
2.16、错误和异常
python程序在运行时可通过try-except语句检测错误,检测到错误后,解释器引发一个异常并显示信息。try后位代码组,except后为处理错误的代码。
>>>
filename=''
>>>
while 1:
...
filename=raw_input("Input a file name:")
...
if filename=='q':
...
break
...
try:
...
f=open(filename,"r")
...
'opend a file.'
...
except:
...
print 'There is no file named',filename
...
Input a file name:logfile
There is no file named logfile
Input a file name:
There is no file named
Input a file name:/tmp/log.txt
opend a file.
Input a file name:q
2.17、函数
语法:
def function_name([argument])
#argument参数可选
“optional documentation string”
function_suit
>>>
def addme2me(x):
...
'apply+operation to argument'
...
return (x+x)
#加号运算符支持几乎所有的标准数据类型
...
>>>
addme2me(3)
6
>>>
addme2me(4.5)
9.0
>>>
addme2me('python')
'pythonpython'
>>>
>>>
>>>
addme2me([-1,'abc'])
[-1, 'abc', -1, 'abc']
函数参数可以设置默认值,如果调用时没有提供参数,则取默认值:
>>>
def foo(debug=True):
...
if debug:
...
print 'in debug mode'
...
print 'done'
...
>>>
foo()
in debug mode
done
>>>
foo(False)
2.18、类
>>>
class fooclass(object):
...
version=0.1
...
def __int__(self,nm='John Doe'):
...
self.name=nm
...
print 'create a class instance for',nm
...
def showname(self):
...
'Your name is',self.name
...
print 'My name is',self.__class__.__name__
...
def showver(self):
...
print self.version
...
def addme2me(self,x):
...
return x+x
...
>>>
>>>
fool=fooclass()
create a class instance for John
Doe
>>>
fool.showver()
0.1
>>>
print fool.addme2me(5)
10
>>>
print fool.addme2me('xyz')
xyzxyz
2.19、模块
导入模块:import
module_name
系统自带很多模块,自己编写的.py结尾的程序也是一个模块,模块名不带后缀,调用模块函数或模块变量通过句点”.”访问。
>>>
import sys
>>>
sys.stdout.write('Hello World!n')
Hello World!
>>>
sys.platform
'linux2'
>>>
sys.version
'2.4.3 (#1, Mar 5 2011, 21:25:56)
n[GCC 4.1.2 20080704 (Red Hat 4.1.2-50)]'
test.py
import.test
2.20、实用的内建函数
dir([obj]) 显示对象的属性,
如果没有提供参数,
则显示全局变量的名字;
help([obj]) 显示对象的文档字符串,
如果没有参数,
进入交互式帮助;
int(obj) 将一个对象转换为整数;
len(obj) 返回对象的长度;
open(fn, mode) 以mode("r’=读,’w’=写,a)方式打开一个文件名为fn的文件;
range([[start,]stop[,step]]) 返回一个整数列表。起始值为start,结束值是stop-1,start默认值为0,step默认是1;
raw_input(str) 等待用户输入一个字符串,可以提供一个可选的str用作提示信息;
str(obj) 将一个对象转换为字符串;
type(obj) 返回对象的类型(返回值本身是一个type对象);
python起步输入-[转载]python核心编程学习笔记-python起步相关推荐
- 【C++】黑马程序员-C++核心编程学习笔记
前言 根据黑马程序员C++课程内容,结合讲义,将自己学习C++的过程中将自己觉得有必要记下的笔记进行整理,方便复习回顾,编程环境为VSCode. 本阶段主要针对C++面向对象编程技术做详细讲解,探讨C ...
- 转 windows核心编程 学习笔记 目录
windows核心编程--SEH(结构异常处理) SEH 的工作原理. Windows 程序设计中最重要的理念就是消息传递,事件驱动.当GUI应用程序触发一个消息时,系统将把该消息放入 ...
- Python核心编程学习笔记(一)
1.把一个字符串赋值给变量str.先用print来显示变量的内容,然后用变量名称来显示: >>>str = 'Hello World!' >>>print str ...
- Python核心编程学习笔记-2016-07-24-01-理解copy和deepcopy
6.20节 copy实施方式: (1)完全切片操作[:] (2)工厂函数list(),tuple()等 (3)copy模块的copy函数 copy可以说是创建了了一个新的对象,但是内容仍然是原对象的引 ...
- 《Python核心编程》笔记 Python对象
1.Python对象 Python使用对象模型来存储数据,构造任何类型的值都是一个对象.所有的对象都有三个特性: 身份,可通过内建函数id()查看,这个值即该对象的内存地址. 类型,可通过内建函数ty ...
- 《Python核心编程》笔记 Python对象
第4章 Python对象 1.Python对象 Python使用对象模型来存储数据,构造任何类型的值都是一个对象.所有的对象都有三个特性: 身份,可通过内建函数id()查看,这个值即该对象的内存地址. ...
- windows核心编程学习笔记(六)动态链接库
动态链接库有很多优点: •扩展了应用程序的特性 •可以用许多种编程语言来编写 •简化了软件项目的管理 •有助于节省内存 •有助于资源的共享 •有助于应用程序的本地化 •有助于解决平台差异 •可以用于一 ...
- ASP.NET 3.5核心编程学习笔记(18):数据绑定表达式
简单数据绑定 数据绑定表达式是由<%...%>包裹的可执行代码,以#号为前缀.它可以通过DataBoundLiteralControl类的实例以编程方式加以管理. 数据绑定表达式通常从数据 ...
- ASP.NET 3.5核心编程学习笔记(55):自定义扩展程序控件的创建
ASP.NET并没有包含对扩展程序的具体实现.然而,它定义了供所有自定义扩展程序和ACT中所有扩展程序使用的基类ExtenderControl.我们可通过该类创建自己的扩展程序.但并不建议这样做,因为 ...
最新文章
- SWT事件的四种写法
- Linux内核之内核同步(二)——原子操作
- Spring中的后置处理器BeanPostProcessor讲解
- Centos5 install vnc
- 计算机PPT03,南京大学计算机网络课件03.ppt
- 电钻有刷好还是无刷好_高中物理好的来看看,永磁同步直流电机是怎样实现无刷驱动的?...
- linux进程理解,进程资源 - 进程基础 - [ 理解Linux进程 ] - 手册网
- 计算机无法播放asf格式,ASF文件怎么打开播放出来?
- java jtextarea 显示_Java开发网
- 威盾VIACONTROL远程监控注册机及试用手记
- Solr优化案例分析
- 关于excel文件损坏的处理方法
- Photoshop CC(2018)安装教程
- BMVC2020 Best Paper: Delving Deeper into Anti-aliasing in ConvNets论文解读
- apiCloud + aui实现tab栏切换功能
- 浙江万里学院期末计算机网络,(浙江万里学院云计算基础课程大作业封面.doc
- UAP安装使用FindBugs
- 机器学习中的优化算法介绍
- c语言对孩子的作用,爸爸用C语言给孩子早教,孩子逐渐崩溃,网友:你别害孩子秃顶...
- linux 通过lvm合并磁盘