1.1python安装
win 开始-python-IDLE(python GUI) 即打开python shell
f1 打开help-docs 可以查阅帮助文档
1.2 交互式解释器
python不以 ';' 为每行结束,一行则为一行。'>>>’ 为提示符
1.3 算法
计算机程序设计:告诉计算机做什么事,有序指令。 包括要素(表达式),对象,物品,指令语句。
1.4 数字和表达式
整数加+
减-
乘*
除/
。
除法默认只显示整数部分
>>>1/2
0
要显示小数点部分,有以下两种方法
- 使用实数(包含小数点的十进制数)称为浮点数(float/ float-point number)。
>>>1.0/2.0
0.2
- 全程只是用普通的除法,执行以下语句:
>>>from_future_import division
linux系统下可以通过命令行开关-Qnew
这样就可以让python只执行普通的除法
此时,双斜线就是整除的作用
>>>1//2
0.0
其他计算
- 取余数
%
。 可以用来做类似 ‘每十分钟检查一次’ 的作用, 检查时间10%的结果是否为0.
>>> if 1==2: print 'One equals two’
>>> if 1==1: print 'One equals one‘
...
One equals one
>>>
(交互式解释器执行if 语句按两次回车)
检查整点:
>>> if time % 60==0: print 'One the hour!'
2.幂(乘方)**
。幂运算优先于-
负号,所以 -3**2
等同于 -(3**2)
长整形数(结尾加L表示)
- 普通整数 在 -2 147 483 648 至 2 147 483 647之间,大于这个数会报错,这时候在数字后面加L表示长整数型就可以使用了。
- 长整数型可以和普通整数混用
十六进制和八进制
首数字都是0
十六进制
>>> 0xAF
175
八进制
>>> 010
8
1.5 变量 variable
赋值(变量取名可以包括字母,数字,下划线。但是不能以数字开头
>>>x=3
>>>x*2
6
变量就像临时的存储器,而且操作变量的时候并不需要知道它存储了什么值,程序中可以多种方法只用变量,而不需要知道在程序运行的时候,最终存储(引用)的值是什么。
1.6 语句
表达式(某事)
>>>2*2
4
语句(做某事)
>>>print 2*2
4
以上两个在解释器中都用repr函数都结果进行呈现了,但是一般情况下python不会打印前者的结果值。
这也是为什么赋值的时候,解释器(将程序存为单独的文件,方便其他用户直接执行)不打印,而是马上提出新的提示符,表示赋值成功。
1.7 获取用户输入
虽然我们不需要变量的值,但是解释器需要知道,这时候如果需要用户输入值,使用 input函数
>>>x=input("x: ")
x: 34
>>>y=input("y: ")
y: 42
>>>print x*y
1428
和raw_input区别
>>>name=input("What is your name?"
>>>print "Hello, " +name + "!"
what is your name? "Gumby"
Hello, Gumby
#此时必须输入带引号,表示是字符串的回答
>>>name=raw_input("What is your name?")
>>>print "Hello, " +name + "!"
what is your name? Gumby
#此时不需要输入引号,输入自己真实的答案即可
Hello, Gumby
1.8 函数(如同特定功能的小程序)
pow(x,y)
代替 幂(乘方) **
python已有的标准函数成为内置函数
使用函数需要调用函数,使用后返回值。函数的调用可以看做是另一类表达式
>>> 10+pow(2, 3*5)/3.0
10932.666666666666
其他函数: 求绝对值abs(x)
, 四舍五入round(y)
1.9 模块
比如向下取整floor(x)
这样的函数无法直接调用,需要到导入(import)模块以后使用。 floor 在 math模块中。
导入后使用格式: 模块.函数
>>>import math
>>> math.floor(32.9)
32.0
>>>#这里int其实直接会取整数部分,不需要向下取整,直接Int(32.9)就可以得到结果
>>>int(math.floor(32.9))
32
但是如果使用 from 模块 import 函数 则可以直接使用函数
>>> from math inport sqrt
>>>sqrt(9)
3.0
或者赋值给函数
>>> import math
>>> foo=math.sqrt
>>>foo(4)
2.0
1.9.1 cmath(complex math,复数)
由于sqrt只能处理浮点数,无法处理虚数或复数,用sqrt求负数的平方根会报错或得到nan(not a number), 这时可以用cmath来处理
>>>import cmath #直接import然后带模块名引用避免和math.sqrt的函数命名冲突
>>>cmath.sqrt(-1)
1j
python支持复数和实数一样运算
1.10 运行程序(mac 电脑无法实操,直接用pycharm运行了,可以使用)
打开运行
win c:\>python hello.py
unix $python hello.py
在脚本首加上 #!/usr/bin/env python
#!称之为 pound bang 或者shebang
这样无论文件在哪,都会执行。
如果有多个版本的python,则要在pound bang中使用完整路径
#!/usr/bin/python2
在运行脚本之前,先让脚本文件有可执行的属性 $ chmod a+x hello.py
然后就可以运行代码了,假设路径是当前文件
$ hello.py
第一个程序代码:
#!/usr/bin/env python
print "Hello,world"
name=raw_input("What is your name")
print "Hello," + name + '!'
raw_input("Press <enter>")
1.11 字符串
- 嵌套使用不同引号 python同时支持双引号和单引号。 字符串里面使用引号,属于字符串的内容时,外面使用另一种引号,这样可以避免解释器看不懂。
>>>"Let's go!"
"Let's go!"
>>>'"Hello, world!" she said'
' "Hello, world!" she said'
>>> 'Let's go'
SyntaxError: invalid syntax
- 也可以使用
\
转义
>>>'Let\'s go!'
"Let's go!"
>>>path='C:\nowhere'
>>>path
C:
owhere
>>>path='C:\\nowhere'
>>>path
C:\\nowhere
- 拼接字符
>>>"Let's say " '"Hello, world!"'
'Let's say "Hello, world!"'
>>>x="Let's say "
>>>y='"Hello, world!"'
>>>x+y
'Let's say "Hello, world!"'
- 通过python直接打印的结果显示的是该值在python代码中的状态,所以上述字符串结果返回最外面都带引号(
repr()
也是这个结果),如果不想要最外面的引号,可以使用print()函数。
- 三个引号显示原本内容
'''内容
内容
内容‘’‘
在文本内容前后套3个单引号/双引号则可以完整保留文本格式和内容,包括换行,斜线,都作为文本内容。 但是如果一行的最后一个字符是反斜线,则解读为不换行。
- 原始表达式
在字符串外加r ,原模原样打印, 但是转义还是要转义的,虽然转义的也会显示出来,最后一个字符不可以是反斜线,会报错。 正则中用的很多。
>>>print r'Let\'s go'
Let\'s go
>>>print r'Let's go'
SyntaxError: invalid syntax
如果一定要在最后加上反斜线,那就把反斜线当做单独的字符串来处理(记得转义)。
知识点总结:
四则运算: + - * /
普通除法设置:from _future_ import divison
; //
余数: %
( 可做XX时检查工作)
幂:**
, pow(x,y)
绝对值: abs(x)
四舍五入: round(x)
向下取整: math.floor(x)
平方根:math.sqrt(x)
浮点型float point number: 3.2
长整数型: 数字L
打印: print 显示内容
获取用户输入: input('显示内容: ")
;raw_input('显示内容: ")
导入函数:import ...
; from ... import ...
非数: nan(not a number)
虚数和复数: cmath.sqrt
装在未来成为标准库的内容模块: _future_
引号: ' '
; " "
转义符号: \转义单个字符
拼接:'字符串' '字符串'
; '字符串' + '字符串'
转化为字符函数: str()
创建字符串,以合法python表达式形式显示: repr()
字符串相关: '''内容'''
; r'内容'
网友评论