python语言关键词_python数据类型 循环语句 循环关键字

Python

一.Python简史

Python是一种面向对象,解释型计算机程序设计语言,由Guido Van Rossum于1989年发明,第一个公开发行版于1990年。2001年发布python2.0版本,2010年获年度Tiobe编程语言大奖,2013年发布python3.x版本。需要注意的是:python2.7是python2.x系列最后一个版本Python是纯粹的自由软件,源代码和解释器cpython遵循CPL(GUN General Public License)协议。Python语法简介清晰,特色之一是强制使用空白符(whilte space)作为语句缩进。Python具有强大和丰富的库,能够把其他语言制作的各种模块,(尤其是C/C++)很轻松连接在一块。

1.1Python主要特点:

简单

易学

免费,开源

高层语言

可移植性

解释性

面向对象

可扩展性

可嵌入性

丰富的库

规范的代码

1.2.Python安装

我们这里说的是linux下的安装,系统默认安装python,在Terminal中直接执行命令:python;

这里我们可以看到系统默认安装的版本是python2.7.5

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

在python里没有自动补齐作用,我们可以安装ipython,其实现了自动补齐。Ipython是一个非常强大的python交互shell,通过它可以非常方便的开发,调试python。Ipython须从网上下载软件。对于ipython的安装这里我就不再细说了。

Pycharm

下载pychrm社区版本,安装使用。

1.21.Pycharm 中自动添加解释器及相关信息。

打开pycharm——> 选中 file中的setting——>选择Editor中file and code templates——> 选中python script然后再添加信息:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

添加完信息后保存。

以后我们的实验操作均会再pycharm中进行操作。

二.Python基本数据类型

2.1.输入输出

Print + 字符串.......

Raw_input输入的内容为字符类型;

Input 输入的内容为数值类型

测试练习1:求三门成绩的平均值:

#!/usr/bin/env python

#coding:utf-8

from __future__ import division

#导入除法模块,是因为在python2.X的版本里,除法是整除,不会取到小数

chinese = input ("score1:")

math = input ("score2:")

english = input ("score3:")

avg = (chinese+math+english)/3

print "anverage score is %s" %(avg)

执行结果1:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

在往往求平均值时,我们通常只须保留两位小数,故我们要调整输出为:

print "anverage score is %.2f" %(avg)

调整后效果:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

调整后执行结果:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

块代码注释:三引号!/usr/bin/env python

#coding:utf-8

"""

行代码注释:# <快捷键:ctrl + / >

2.2.字符串的格式化符号:

%f 小数, 浮点数

%.2f 保留两位小数点的浮点数

%d ×××数

%s 字符串

%o 八进制

%x 十六进制

实例1:

生成×××数字,不够的部分用0填充:(这里是在shell终端中使用ipython操作)

In [1]: "%.3d" %(1)

Out[1]: '001'

2.10代表生成字符串的宽度;

In [2]: "%10.3d" %(1)

Out[2]: ' 001'

3.显示字符串有%号需要转义;

In [3]: "%.2f%%" %(30)

Out[3]: '30.00%'

2.3. 变量

变量是内存中的一块区域

变量的命名:变量名由字母,数字,下划线组成;变量名只能以字母或者下划线开头;

Python中地址变量和c语言正好相反,一条数据包含多个标签:

实例2.

In [4]: a=1

In [5]: b=1

In [6]: id(a)

Out[6]: 26836072

In [8]: id(b)

Out[8]: 26836072

测试练习:

输入变量名必须以字母或下划线开头,否则报错:

#!/usr/bin/env python

#coding:utf-8

while True:

s = raw_input("变量名:")

if s[0].isalpha() or s[0] == "_":

for i in s[1:]:

if i.isalnum() or i == "_":

continue

else:

print "%s 变量名不合法!Error: 变量名后面的字符" % (s)

break

else:

print "%s变量名合法" % (s)

else:

print "%s 变量名不合法! Error: 变量名第一个字符" % (s)

测试结果:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

2.4运算符和表达式

2.41.算术运算符:+,-,*,**, /, %, //

实例3.

In [12]: print 5.0/2

2.5

In [13]: print 5/2

2

In [14]: print 8//2

4

In [15]: print 2**3

8

2.4.2.赋值运算符:=, +=, -=, /=, *=, %=

实例4.

In [16]: a =1; a+=3

In [17]: print a

4

In [18]: a =1; a-=1

In [19]: print a

0

In [22]: a =2; a*=8

In [23]: print a

16

In [24]: a =10; a/=2

In [25]: print a

5

2.4.3.关系运算符: >, >=, <, <=, !=, ==

实例5.

In [26]: 1>2

Out[26]: False

In [27]: 1>2 == False

Out[27]: False

In [28]: (1>2) == False

Out[28]: True

2.5.数值类型

2.5.1. 整型,长整型

实例6.

In [29]: anInt = 12

In [30]: print type(anInt)

In [31]: aLong = 12L

In [32]: print type(aLong)

#整型和长整型相加

In [33]: print type(anInt + aLong)

2.5.2.float 浮点型,类似于c语言中的double类型

实例7.

In [34]: aFloat = 12.34

In [35]: print type(aFloat)

In [36]: bFloat = 0.12E11

In [37]: print bFloat

12000000000.0

2.5.3 complex 复数型

实例8.

In [38]: aComplex = 2+3j

In [39]: print aComplex.real #输出实部

2.0

In [40]: print aComplex.imag #输出虚部

3.0

In [41]: print aComplex.conjugate() #输出共轭复数

(2-3j)

In [42]: print type(aComplex)

数值类型是不可变数据类型

In [43]: print abs(-1)

1

In [44]: print coerce(1, 1.0)

(1.0, 1.0)

In [45]: print divmod(5, 2)

(2, 1)

In [46]: print pow(2,3)

8

In [47]: print round(2.456657,2)

2.46

测试练习2.

判断闰年?

分析:这个年份能被4整除但不能被100整除,或者能被400整除,那么就是闰年。

#!/usr/bin/env python

#coding:utf-8

Year = input ("year:")

print (Year % 4 == 0 and Year % 100 != 0) or (Year % 400 == 0)

执行结果:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

2.6 if判断语句

Python中的判断语句:注意缩进

If 表达式:

If-suite

If 表达式:

If-suite

else:

else-suite

测试练习3.

用if语句判断闰年

#!/usr/bin/env python

#coding:utf-8

year = input ("year:")

exp = (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)

if exp == 1:

print "%s 是闰年" %(year)

else:

print "%s 不是闰年" %(year)

测试结果:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

测试练习4.

用户登陆ATM系统

已知用户名和密码

判断用户和密码是否正确;

如果正确,输出用户登陆成功;

如果不正确,输出登陆失败;

#!/usr/bin/env python

#conding = utf-8

import getpass

#数据库中存储的用户名和密码;

user = "root"

passwd = "redhat"

username = raw_input("用户名:")

password = getpass.getpass("密码:")

if username == user and password == passwd:

print "%s 用户登陆成功!" %(user)

print """

ATM 管理系统

1.取款

2.存款

3.余额查询

4.退出

"""

choice = input("请输入您的选择:")

if choice == 1:

pass

elif choice == 2:

pass

elif choice == 3:

pass

elif choice == 4:

exit(0)

else:

print "请输入正确的选择!"

else:

print "%s 用户登录失败!" %(username)

测试结果:

因为导入getpass模块,我们必须在终端进行测试:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

测试练习5:if_模拟三目运算符

三目运算符: a>b?a:b <注意:python不支持>

a=1

b=2

Print a if a>b else b

测试结果:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

while循环语句

while 表达式:

循环执行语句

while 表达式:

循环执行语句

else:

不符合循环条件执行的语句

死循环:

while True:

死循环的语句

while 1:

死循环的语句

测试练习6:

在测试练习4的基础上,使得用户登陆次数不超过三次,且不选择退出时,不退出登陆页面。

import getpass

#数据库中存储的用户名和密码;

user = "root"

passwd = "redhat"

#已登陆的次数;

trycount = 0

#登陆次数小于3,允许再次登陆;

while trycount < 3:

print "%s次登陆........" %(trycount+1)

username = raw_input("用户名:")

password = getpass.getpass("密码:")

if username == user and password == passwd:

print "%s用户登陆成功!" % (username)

print """

ATM管理系统

1. 取款

2. 存款

3. 查询余额

4. 退出

"""

while 1:

choice = input("请输入你的选择:")

if choice == 1:

print "取款"

elif choice == 2:

print "存款"

elif choice == 3:

print "查询余额"

elif choice == 4:

exit(0)

else:

print "请输入正确的选择!"

else:

print "%s 用户登陆失败!" % (username)

trycount += 1

#登陆次数超过三次,报错;

else:

print "登陆次数超过3次, waiting......"

测试结果:

因为导入getpass模块,我们必须在终端进行测试:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

测试练习7:

求(1 10000)内偶数之和,并计算时间戳。

法一:

#!/usr/bin/env python

#coding:utf-8

import time

start_time = time.time()

sum = 0

for i in range(2,10001,2):

sum += i

print sum

end_time = time.time()

print "run %s" % (end_time - start_time)

测试结果1:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

法二:

#!/usr/bin/env python

#coding:utf-8

import time

start_time = time.time()

i = 2

evensum = 0

while i<=10000:

evensum += i

i += 2

print evensum

end_time = time.time()

print "run%s" %(end_time-start_time)

测试结果2:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

循环语句中的关键字:break , continue

break: 遇到这个关键字跳出当前循环;不再继续执行循环;

continue:遇到这个关键字跳出本次循环;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值