在python2和python3的版本差异很大输出hello world的方法在2里支持在3里就不支持了。

1 print \'hello world\'   #在2中支持
2 
3 print (\'hello world\')  #在2,3两个版本都支持。

在交互模式中_为特殊变量用于保存最后一次的运算结果,这个特殊变量只有在交互模式中才有定义。

如果要创建可以重复使用的程序可以将代码放在一个文件里,后缀名为.py结尾。

如果需要调试的话可以在ide中打开文件,在创建python程序文件时,需要加两行注释:

 #!/usr/bin/env python #         

-*- coding:utf-8 -*-

#两行代码的意思分别是找到python程序的编译器,和使用utf-8这个万国码。 

 在python交互模式中输入任意合法的语句,或语句序列,都能返回结果例:

1 >>> 6000+4523.50+134.12
2 10657.62
3 >>> _+10
4 10667.62
5 >>>

_在python中是个特殊变量,会代表上一次的运算结果,这个方法只有在交互模式工作中才有定义。

如果想创建可以重复运行的程序,可以先创建个.py的文件,将你想运行的代码放进这个文件里,在ide中运行可以达到重复使用的作用。

一个简单的复利运算

1 principal =1000  #初始金额
2 rate = 0.05         #利率
3 numyears = 5     #年数
4 year = 1
5 while year<= numyears:
6     principal = principal * (1+rate)
7     print year,principal            #python3中需要加上括号
8     year += 1

变量名称是无类型的,在执行过程中可以调用任意类型。赋值运算符仅仅是将名称和值关联起来。

格式化字符串三种常用的序列%d  代表整数类型,%s  代表字符串类型.%f  代表浮点类型,下面是一个能将上面的复利运算结果变得更美观的一个用法:

 1 #!/usr/bin/env python
 2 # -*-*coding:utf-8 -*-
 3 principal =1000  #初始金额
 4 rate = 0.05         #利率
 5 numyears = 5     #年数
 6 year = 1
 7 while year<= numyears:
 8     principal = principal * (1+rate)
 9     print \'%3d %0.2f\' %(year,principal)            #python3中需要加上括号
10     year += 1
11 #%3.d表示结果整体向右移三个空格,%.2f表示显示小数点后两位。
12 #还有一种格式化字符的用法调用format()函数如下:
13 print format(year,\'3d\'),format(principal,\'0.2f\')
14 
15 #还有一种格式化很多值的方法还是调用format()函数:
16 print {0:3d}{1:0.2f} format(year,principal)
17 #在这个例子中:前的数字表示传给format()函数的参数,冒号后面是格式说明符

View Code

if判断语句:if和else的子句的主体用缩进表示,else是可选的,表示判断条件不为真时执行它例:

1 a = 1
2 b = 2
3 if a<b:
4     print  \'computer says yes\'
5 else:
6     print \'computer says no\'

要创建空语句是可使用pass语句:

if a<b:
    pass
else:
    print \'computer saye no\'

使用 or,and,not等关键字可以建立布尔型的表达式。

1 product = 1
2
age =19 3 if product ==\'game\' and type ==\'pirate memory\'\ 4 and not (age <4 or age > 8): 5 print \'I ll take it!\'
#编写复杂程序的时候可能会输入很长的代码,让人看着不舒服可以输入一个\就可以在下一行的任意位置输入你的代码,不受缩进限制。

在python如果需要处理多个测试用例可以使用if语句中elif语句如下:

1 if suffix ==\'.htm\':
2     content =\'text/html\'
3 elif suffix ==\'.jpg\':
4     content =\'image/jpeg\'
5 elif suffix ==\'.png\':
6     content =\'image/png\'
7 else:
8     raise runtimeerror(\'unknown content type\')

View Code

要表示真值,可以使用布尔值True和False,例:

1 s = [123,\'sspan\',233]
2 if \'span\' in s:
3     print \'has_spam = True\'
4 else:
5     print \'has_spam = False\'

所有关系运算符(<如>)的结果都返回Ture或False。上面的例子使用in运算符通常用于检查某个值是否包含在另一个对象(字符串、列表或字典)中。他也会返回Ture或False,因此前面的例子可以缩短为:

has_spam = \’spam\’ in s

文件的输入和输出

1 f = open(\'python_1.py\') # f为返回的一个文件对象,或者叫文件句柄
2 line = f.readline()        #调用文件readline方法每次只读一行
3 while line:
4     print line,       #后面跟着逗号表示忽略换行符
5     #print (line,end=\'\')    #在python3中这么使用
6     line = f.readline()    #一次读取一行,包括结尾的换行符在内。读至文件结尾时将返回空字符串。
7 f.close()           #关闭文件

View Code

如果程序在像这样的数据集(例如输入中的行、数字、字符串等)上进行循环,那么通常就称之为迭代。

迭代是一种很常见的操作,所以python为其提供了一个专用语句循环for同样的程序我们可以写成这样例:

 1 #! /usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3 principal =1000  #初始金额
 4 rate = 0.05         #利率
 5 numyears = 5     #年数
 6 year = 1
 7 for line in open(\'python_1\'):
 8     print line
 9 要将程序输入到一个文件中可以使用print语句中的>>指定一个文件如下:
10 
11 f = open(\'python_1.py\',\'w\')  #打开文件写入,用w方式时会覆盖文件原有内容
12 while year <= numyears:
13     principal = principal *(1 + rate)
14     print >>f,,\'%3d %0.2f\' %(year,principal)   #写进f这个文件句柄代表的文件
15     #python3中只能这么使用 print(\'%3d %0.2f\' %(year,principal),file = f)
16     year += 1
17 f.close()
18 #另外,文件对象支持使用write()方法写入原始数据。例如,前一例子中的print语句也可以写成下面这样:
19 f.write(\'%3d %0.2f\' %(year,principal),file = f)

View Code

 上面的例子处理的都是文件,同意的技术也可以用于标准的解释器输入流和输入流 例如想用交互式方法读取用户输入,可以从文件sys.stdin中读取。如果需要输出到屏幕可以写入文件sye.stdout 例:

1 import sys   #调用sys模块
2 sys.stdout.write (\'Enter your name :\')   #使用stdout语句输出
3 name = sys.stdin.readline()    #写入文件。
4 在python2中可以这么使用
5 name = raw_input(\'Enter your name:\')  #在python3中可以使用input输入和2中raw_input 效果一样

字符串

要创建个字符串可以将字符串放进””或者\’\’ 再或者\’\’\’   \’\’\’这三种引号内。这三种引号必须相互对应例:

1 a = \'name1\'
2 b = "name2"
3 c = \'\'\'name3\'\'\' 
4 #三个引号可以多行输入,其他两种方式不可。

字符串的存储是从0开始的,如果想取出某个元素可以用索引运算符取出,如果要取出多个元素可以用切片运算符可以取出多个例

1 a = \'hello world\'
2 b = a[4]
3 c = a[:5]
4 d = a[6:]
5 e = a[3:8]
6 也可以使用+号将两个字符串连接
7 g = a +\' this is a test\'

python不会将字符串的值解释为数据数值例如两个字符号中间放个+号只会连接两个字符串,如果你想让两个字符串元素中的数字相加可以将字符串转换类型。

如int,float,将字符串转换成整形或浮点型。

 1 x = \'37\'
 2 y = \'42\'
 3 z = x + y # z = \'3742\'(字符串连接)
 4 要执行数学计算,可以将字符串先转换
 5 z= int(x) + int(y) #z = 79(integer +)
 6 使用str()、repr()或format()函数可将非字符串值转换为字符串表示形式,例:
 7 s = \'The value of x is\' + str(x)
 8 s = \'The value of x is\' + repr(x)
 9 s = \'The value of x is\' +format(x,\'4d\')
10 尽管str()和repr()都可以创建字符串,但是str生成的和print语句的结果相同二用repr()创建的字符串则代表精确值例:
11 x =3.4
12 str(x)  #结果\'3.4\'
13 x = 3.4
14 repr(x)  #结果\'3.9999999\'
15 而format()函数的作用是利于特定格式将值转换成字符串例
16 format(x,\'0.5f\')  #结果3.40000

View Code

 

版权声明:本文为songcheng原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/songcheng/p/6258016.html