回目录
1. 双击安装程序, next, next 就可以了. 安装完后, 打开Python在上面就可以输入命令了.
2. 运行程序文件*.py: 在cmd下 输入python xxx.py 就可以运行了.
Python代码文件: 就是这么简单.
#!/usr/bin/python # Filename : helloworld.py print('Hello World')
+ 加 两个对象相加(3 + 5得到8。'a' + 'b'得到'ab')
- 减 得到负数或是一个数减去另一个数(-5.2得到一个负数。50 - 24得到26)
* 乘 两个数相乘或是返回一个被重复若干次的字符串(2 * 3得到6。'la' * 3得到'lalala')
** 幂 返回x的y次幂(3 ** 4得到81(即3 * 3 * 3 * 3))
/ 除 x除以y(4/3得到1(整数的除法得到整数结果)。4.0/3或4/3.0得到1.3333333333333333 )
// 取整除 返回商的整数部分(4 // 3.0得到1.0)
% 取模 返回除法的余数(8%3得到2。-25.5%2.25得到1.5)
<< 左移 把一个数的比特向左移一定数目(每个数在内存中都表示为比特或二进制数字,即0和1)(2 << 2得到8)。
>> 右移 把一个数的比特向右移一定数目 (11 >> 1得到5)
& 按位与 数的按位与 5 & 3得到1。
| 按位或 数的按位或 5 | 3得到7。
^ 按位异或 数的按位异或 5 ^ 3得到6
~ 按位翻转 x的按位翻转是-(x+1) ~5得到6。
< 小于 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。
这分别与特殊的变量True和False等价。注意,这些变量名的大写。
5 < 3返回0(即False)而3 < 5返回1(即True)。
比较可以被任意连接:3 < 5 < 7返回True。
> 大于 返回x是否大于y 5 > 3返回True。如果两个操作数都是数字,它们首先被转换为一个共同的类型。
否则,它总是返回False。
<= 小于等于 返回x是否小于等于y x = 3; y = 6; x <= y返回True。
>= 大于等于 返回x是否大于等于y x = 4; y = 3; x >= y返回True。
== 等于 比较对象是否相等 x = 2; y = 2; x == y返回True。
x = 'str'; y = 'stR'; x == y返回False。x = 'str'; y = 'str'; x == y返回True。
!= 不等于 比较两个对象是否不相等 x = 2; y = 3; x != y返回True。
not 布尔“非” 如果x为True,返回False。如果x为False,它返回True。 x = True; not y返回False。
and 布尔“与” 如果x为False,x and y返回False,否则它返回y的计算值。
x = False; y = True; x and y,由于x是False,返回False。在这里,Python不会计算y,
因为它知道这个表达式的值肯定是False(因为x是False)。这个现象称为短路计算。
or 布尔“或” 如果x是True,它返回True,否则它返回y的计算值。
x = True; y = False; x or y返回True。短路计算在这里也适用。
表5.2 运算符优先级
运算符 描述
lambda Lambda表达式
or 布尔“或”
and 布尔“与”
not x 布尔“非”
in,not in 成员测试
is,is not 同一性测试
<,<=,>,>=,!=,== 比较
| 按位或
^ 按位异或
& 按位与
<<,>> 移位
+,- 加法与减法
*,/,% 乘法、除法与取余
+x,-x 正负号
~x 按位翻转
** 指数
x.attribute 属性参考
x[index] 下标
x[index:index] 寻址段
f(arguments...) 函数调用
(experession,...) 绑定或元组显示
[expression,...] 列表显示
{key:datum,...} 字典显示
'expression,...' 字符串转换
#!/usr/bin/python # Filename: if.py number = 23 guess = int(input('Enter an integer : ')) if guess == number: print('Congratulations, you guessed it.') # New block starts here print("(but you do not win any prizes!)") # New block ends here elif guess < number: print('No, it is a little higher than that') # Another block # You can do whatever you want in a block ... else: print('No, it is a little lower than that') # you must have guess > number to reach here print('Done') # This last statement is always executed, after the if statement is executed
#!/usr/bin/python # Filename: while.py number = 23 running = True guess = 0 while guess != number: guess = int(input('Enter an integer : ')) if guess == number: print('Congratulations, you guessed it.') running = False # this causes the while loop to stop elif guess < number: print('No, it is a little higher than that') else: print('No, it is a little lower than that') else: print('The while loop is over.') # Do anything else you want to do here print('Done')
#!/usr/bin/python # Filename: for.py for i in range(1, 5): print(i) else: print('The for loop is over')
与C++一样.
#!/usr/bin/python # Filename: function1.py def sayHello(): print('Hello World!') # block belonging to the function sayHello() # call the function
#!/usr/bin/python # Filename: func_param.py def printMax(a, b): if a > b: print(a, 'is maximum') else: print(b, 'is maximum') printMax(3, 4) # directly give literal values x = 5 y = 7 printMax(x, y) # give variables as arguments printMax('a', 'k') # give variables as arguments
局部变量:
在函数中, 没有用global来声明的变量就是局部变量了.
全局变量
使用 global 来说明这是全局变量
#!/usr/bin/python # Filename: func_global.py # 函数体 def func(): global x print('x is', x) x = 2 print('Changed local x to', x) # 函数的调用 x = 50 func() print('Value of x is', x)
这个和C++一样
#!/usr/bin/python # Filename: func_default.py def say(message, times = 1): print(message * times) say('Hello') say('World', 5)
其作用就是可以不需要按照函数参数的声明顺序来传递参数给函数.
#!/usr/bin/python # Filename: func_key.py def func(a, b=5, c=10): print('a is', a, 'and b is', b, 'and c is', c) func(3, 7) func(25, c=24) # 看这个调用, 跳过了b func(c=50, a=100) #
使用return返回, 如果没有return 默认返回None
#!/usr/bin/python # Filename: func_return.py def maximum(x, y): if x > y: return x else: return y print(maximum(2, 3))
说白了就是Python提供给函数的一个默认变量(叫常量也算)__doc__, 你只要按照Python的要求格式填入就可以了, 然后就可以使用__doc__了.
#!/usr/bin/python # Filename: func_doc.py def printMax(x, y): '''Prints the maximum of two numbers. The two values must be integers.''' # 这里填入__doc__ x = int(x) # convert to integers, if possible y = int(y) if x > y: print(x, 'is maximum') else: print(y, 'is maximum') printMax(3, 5) print(printMax.__doc__) # 这里使用, 通过函数名来引用
它如何工作
在函数的第一个逻辑行的字符串是这个函数的 文档字符串 。注意,DocStrings也适用于模块和类,我们会在后面相应的章节学习它们。
文档字符串的惯例是一个多行字符串,它的首行以大写字母开始,句号结尾。第二行是空行,从第三行开始是详细的描述。 强烈建议 你在你的函数中使用文档字符串时遵循这个惯例。
你可以使用__doc__(注意双下划线)调用printMax函数的文档字符串属性(属于函数的名称)。请记住Python把 每一样东西 都作为对象,包括这个函数。
尝试一下输入 help(printMax) 它就会显示__doc__了.
自动化工具也可以以同样的方式从你的程序中提取文档。因此,我 强烈建议 你对你所写的任何正式函数编写文档字符串。随你的Python发行版附带的pydoc命令,与help()类似地使用DocStrings。