Python学习系列(二)(基础知识)
对于任何一门语言的学习,学语法是最枯燥无味的,但又不得不学,基础概念较繁琐,本文将不多涉及概念解释,用例子进行相关解析,适当与C语言对比,避免陷入语法的苦海。我认为初学者学习语法的目标是学会使用即可,关于对概念的深入理解,剖析,没有一定的知识积累是很难做到的。
学习Python,基本语法不是特别难,有了C的基本知识,理解比较容易。本文的主要内容是Python基础语法,学完后,能熟练使用就好。(开发环境依然是Python2.7,简单使用)
>>> x=12
>>> y=13
>>> z=x+y
>>> print z
25
注意:尽管变量不需要预先定义,但是要使用的时候,必须赋值,否则报错:
>>> le
Traceback (most recent call last):
File "<pyshell#8>", line 1, in <module>
le
NameError: name 'le' is not defined
2,查看变量的类型函数type():
>>> type(x)
<type 'int'>
>>> x=12
>>> y=13
>>> z=x+y
>>> m=12
>>> print 'id(x)=',id(x)
id(x)= 30687684
>>> print 'id(m)=',id(m)
id(m)= 30687684
>>> print 'id(z)=',id(z)
id(z)= 30687528
>>> x=1.30
>>> print 'id(x)=',id(x)
id(x)= 43407128
从上述结果可以发现:变量的指向变,地址不变,换句话说,整数12的地址值始终不变,变化的是变量的指向(如x的地址变化);
>>> x='day'
>>> y=13.4
>>> print x,type(x)
day <type 'str'>
>>> print y,type(y)
13.4 <type 'float'>
>>> print 'x=',12
x= 12
格式化控制符:%f浮点数;%s字符串;%d双精度浮点数(这和C的输出是一致的)。
>>> x=12
>>> y=13.0004
>>> z='Python'
>>> print "output %d %f %s"%(x,y,s)
output 12 13.000400 Python
5,输入函数raw_input():
>>> raw_input("input an int:")
input an int:12
''
>>> help(id)
Help on built-in function id in module __builtin__: id(...)
id(object) -> integer Return the identity of an object. This is guaranteed to be unique among
simultaneously existing objects. (Hint: it's the object's memory address.)
#define function:add (函数说明)
def add(x,y): #函数头部,注意冒号,形参x,y
z=x+y #函数体
return z #返回值
#define main function
def main():
a=12
b=13
c=add(a,b) #函数调用,实参a,b
print c
main() #无参函数调用
print 'End1!'
注意:这部分与C的存在的异同在于:
def test(n1,n2):
print n1,
print n2
n=n1+n2
m=n1*n2
p=n1-n2
e=n1**n2
return n,m,p,e
print 'Entry programme1'
sum,multi,plus,powl=test(2,10) #这个是C语言所没有的赋值方式
print 'sum=',sum
print 'multi=',multi
print 'plus=',plus
print 'powl=',powl
re=test(2,10)
print re #数据类型为:'tuple'
print re[0],re[1],re[2],re[3]
print 'End1!\n'
运行结果:
Entry programme
2 10
sum= 12
multi= 20
plus= -8
powl= 1024
2 10
(12, 20, -8, 1024)
12 20 -8 1024
End!
2,局部变量:
def f1():
x=12 #局部变量
print x
def f2():
y=13 #局部变量
print y
def f3():
print x #错误:没有定义变量x,这与“不需要预先定义数据类型”不矛盾
print y
def main():
f1()
f2()
#f3()#变量报错
main()
print 'End2!'
def modifyGlobal():
global x #全局变量定义
print 'write x =-1'
x=-1
def main():
# printLocalx()
# printLocaly()
# readGlobal()
modifyGlobal() x=200
#y=100
print 'before modified global x=',
print x
main()
print 'after modified global x=',
print x
>>>
before modified global x= 200
write x =-1
after modified global x= -1
三、表达式与分支语句
>>> sex="male"
>>> if sex=='male':
print 'Man!'
#此处有两次回车键
Man!
>>>
2)形式二:(if <condition>: else (if <condition>:))
sex=raw_input('Please input your sex:')
if sex=='m' or sex=='male':
print 'Man!'
else:
print 'Woman!'
运行结果:
>>>
Please input your sex:male
Man!
3)形式三:(if <condition>: elif <condition>: else ))(这是Python有而C没有的形式)
count=int(raw_input('Please input your score:'))
if count>=90:
print'优秀!'
elif count>=80:
print '优良!'
elif count>=70:
print '合格!'
elif count>=60:
print '及格!'
else:
print '不及格!'
运行结果:
>>>
Please input your score:90
优秀!
注意:Python没有switch语句。
i=1
while i<5:
print 'Welcome you!'
i=i+1
2)while……else……形式下:
i=1
while i<5:
print 'Welcome you!'
i=i+1
else:
print "While over!" #循环正常结束
注意:如果while非正常状态结束(即不按循环条件结束),则else语句不执行。如下:
i=1
while i<5:
print 'Welcome you!'
i=i+1
if i==2:
print 'While……'
break
else:
print "While over!"
运行结果:
>>>
Welcome you!
While……
i=1
while i<=5:
if i==2 or i==4:
print 'While……continue'
i=i+1
continue
print 'Welcome you!'
i=i+1
else:
print "While over!"
运行结果:
>>>
Welcome you!
While……continue
Welcome you!
While……continue
Welcome you!
While over!
2,for语句:(见后续文章)
五,小结
本文介绍了Python的变量,输入输出函数,表达式,基本语句(分支和循环)等知识的相关使用,通过练习,应该对Python有一个初步的认识。
Python学习系列(二)(基础知识)的更多相关文章
- Python学习之并发基础知识
8 并发编程 8.1 基础知识 8.1.1 操作系统的定义 操作系统是存在于硬件与软件之间,管理.协调.调度软件与硬件的交互. 资源管理解决物理资源数量不足和合理分配资源这两个问题, 通俗来说,操作系 ...
- MVC3+EF4.1学习系列(二)-------基础的增删改查和持久对象的生命周期变化
上篇文章中 我们已经创建了EF4.1基于code first的例子 有了数据库 并初始化了一些数据 今天这里写基础的增删改查和持久对象的生命周期变化 学习下原文先把运行好的原图贴来上~~ 一.创建 ...
- Python学习第二节——基础知识
# !/usr/bin/edv python 脚本语言的第一行,目的就是指出,你想要你的这个文件中的代码用什么可执行程序去运行它.# -*- coding:UTF-8 -*- 标明编码注释 ...
- python学习笔记(一)-基础知识
O.解释型语言和编译型语言 编译型语言就是先把写好的程序翻译成计算机语言然后执行,就是所谓的一次编译到处运行,比如c.c++就是编译型语言,这样的语言特点是运行速度快,但是需要事先把程序编译好才可以. ...
- Python学习笔记——1——基础知识
1.1.变量和算法 python语言很类似人类语言,变量不需要定义类型.比如: 整型 字符串类型 数组 Java int a=12 String s="test" String[] ...
- python学习之-- Mysql 基础知识
数据库介绍及MYSQL基础操作了解 关系型数据库(RDBMS)是按照数据结构来组织,存储和管理数据的仓库.特点:1:数据以表格的形式出现2:每行为各种记录名称3:每列为记录名称所对应的数据域4:许多的 ...
- (一)Python 学习第一天--基础知识,列表
1. .pyc文件 .pyc文件:在python3中,当模块运行时会自动生成在_pycache_文件夹中,其中c为compiled的缩写. Python是一门现编译后解释的语言,在运行时首先寻找.py ...
- 玩耍Hibernate系列(二)--基础知识
Hibernate思维导图 Hibernate映射 关于hibernate的映射要说明的一点就是关于ID的访问权限,peroperty以及field的区别: 表的主键在内存中对应一个OID对象描述 ...
- Python学习系列(八)( 面向对象基础)
Python学习系列(八)( 面向对象基础) Python学习系列(七)( 数据库编程) 一,面向对象 1,域:属于一个对象或类的变量.有两种类型,即实例变量—属于每个实例/类的对象:类变量—属于类 ...
随机推荐
- NGINX的IO模型详解
普及: 用户空间与内核空间: 现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方).操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的 ...
- EF Code-First 学习之旅 配置一对一的关系
1对1.1对0 的关系 例如:Entity1与零个或一个Entity2的实例有关系 public class Student { public Student() { } public int Stu ...
- spring的cglib代理
1.被代理类Person.java package com.xiaostudy; /** * @desc 被代理类 * * @author xiaostudy * */ public class Pe ...
- C#470多例winform 界面特效的源码
一共470多例winform 界面特效的源码. 窗体与界面设计... 9 实例001 带历史信息的菜单 10 实例002 菜单动态合并 12 实例003 像开始菜单一样漂亮的菜单.. ...
- JQuery -- 介绍,选择器及其示例, 基本选择器,层次选择器,过滤选择器,表单选择器
1. 什么是jQuery对象 jQuery 对象就是通过jQuery包装DOM对象后产生的对象. jQuery对象是jQuery独有的.如果一个对象是jQuery对象,那么它就可以使用jQuery里的 ...
- django中Model表的反向查询
很多时候需要在多张表之间进行跨表查询,这其中外键是必须存在的,而通过外键所处的表的对象进行跨表查询, 称为正向查询.反之,则是反向查询. 正向查询很简单,这里不谈. 主要谈下反向查询. class U ...
- spring mvc:复选框(多选)
以user为例,user下有 username用户,password密码, address地址, receivePaper是否订阅, favotireFramework兴趣爱好, user.java ...
- python之单元测试框架—unittest(补充)
一. unittest最核心的四个概念 unittest中最核心的四个概念是:test case,test suite,test runner,test fixture TestCase:一个test ...
- 四十九 Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索结果分页
逻辑处理函数 计算搜索耗时 在开始搜索前:start_time = datetime.now()获取当前时间 在搜索结束后:end_time = datetime.now()获取当前时间 last_t ...
- C++纯虚函数和抽象类的一些要点
1. 纯虚函数是在其被声明的类中不被实现的函数. 2. 定义了纯虚函数的类是抽象类,可以用来生命变量,但不能用来构造实例. 3. 基类中定义了纯虚函数,派生类要么定义这个纯虚函数,要么重复声明一次这个 ...