首页 > 代码库 > <<Python基础教程>>学习笔记之|第01章|基础知识
<<Python基础教程>>学习笔记之|第01章|基础知识
本学习笔记主要用要记录下学习<<Python基础教程>>过程中的一些Key Point,或自己没怎么搞明白的内容,可能有点杂乱,但比较实用,查找起来也方便。
第01章:基础知识
------
Jython: Python的Java实现,运行在JVM中,相对稳定,但落后于Python,当前版本2.5,在TA(Python+Robot)会用到
IronPython: Python的C#实现,运行在Common Language Runtime,速度比Python要快
>>> from __future__ import division
>>> 1/2
0.5
如果直接运算的话,值是0. 除非输入1/2.0,那么Python就当成否点数来运算
------
变量名:包括字母、数字、下划线,不能以数字开头。所以下面正确的表述
正确: file_1; dict2; _del
错误: 9jin; hello world; g-z
------
input与raw_input的区别:
1. 如果输入是数字的话,input后,数据类型为int行,raw_input,则只能字符型,必须用int(str1)进行转化,这在程序编程中要注意的。
>>> i = input(‘Enter here:‘)
Enter here:32
>>> type(i)
<type ‘int‘>
>>> j = raw_input(‘Enter here:‘)
Enter here:43
>>> type(j)
<type ‘str‘>
>>> raw_input(‘Enter a number:‘)
Enter a number:4
‘4‘
>>> input(‘Enter a number:‘)
Enter a number:4
4
2. input不能包括特殊字符,转译字符,否则会报错,raw_input则可以。
>>> a = input(‘Enter here:‘)
Enter here:\n\t
也要注意如果是字符串输入的话,必须加单引号,或双引号
>>> a = input("Enter string:")
Enter string:‘hello‘
Traceback (most recent call last):
File "<pyshell#75>", line 1, in <module>
a = input(‘Enter here:‘)
File "<string>", line 1
\n\t
^
SyntaxError: unexpected character after line continuation character
>>> b = raw_input(‘Enter here:‘)
Enter here:*\n\c\t
>>>
3. 在Win下面双击运行程序,如果想看到交互式的界面,要避免程序一闪而过,就在最底下加raw_input(‘Press Enter to Exit<>‘)
------
>>> round(1/2) #遵循四舍五入
1.0
>>> math.floor(1.1),math.floor(-1.1) #floor始终是取小的,从名字也可以知道,地板,当然是最底层
(1.0, -2.0)
------
求负数的平方根报错
>>> import math
>>> math.sqrt(-1)
Traceback (most recent call last):
File "<pyshell#94>", line 1, in <module>
math.sqrt(-1)
ValueError: math domain error
必须用cmath
>>> import cmath
>>> cmath.sqrt
<built-in function sqrt>
>>> cmath.sqrt(-1)
1j
>>> (1+2j)*(3-4j) #复数的运算
(11+2j)
------
shebang
如果希望Python脚本像普通脚本一样运行,可以在行首加上#!,再用chmod增加可执行权限
比如下面的:
#!/usr/bin/env python
or
#!/usr/bin/python
$ chmod +x ./hello.py
$ hello.py #如果不加的话,必须 ./hello.py 或者 python hello.py
------
单引号如果还涵单引号的号,必须加转译
‘‘‘ ‘‘‘ 三引号,可以按自己意愿输出字符串联,所见即所得的模式,还可以包含单引号,双引号
‘Let\‘s go‘
‘‘Let‘s go‘‘
>>> print """This is a first programing...
print "Hello,World!"
print "Let‘s Go"
"""
输出结果:
This is a first programing...print "Hello,World!"
print "Let‘s Go"
>>> print str("Hello,World!")
Hello,World!
>>> print repr("Hello,World!")
‘Hello,World!‘
str(), repr和反引号是转换值为字符型变量的三中方法
用``反引号来计算算术值,或引用带数字型的变量
>>> print `2+3`
5
>>> temp = 2
>>> print "Temp‘s value is:", temp
Temp‘s value is: 2
>>> print "Temp‘s value is:" + str(temp)
Temp‘s value is:2
>>> print "Temp‘s value is:" + `temp`
Temp‘s value is:2
>>> print "Temp‘s value is:" + repr(temp)
Temp‘s value is:2
------
\ 在行中用于转义,如\n代表换行,\t制表符等,在行尾,可忽略,主要用于多行输入。如:
>>> 1 + 2 + 3 \
- 4 / 2 \
* 2 % 3
5.0
>>> print "C:\\python27"
C:\python27
也就是说不能在字符串末尾输入\
>>> print "This is illegal.\"
SyntaxError: EOL while scanning string literal
如果真想表示的话,则需要这样:
print r‘C:\python27\lib\test\pack1\pack2\pack3‘ ‘\\‘
C:\python27\lib\test\pack1\pack2\pack3\
如果是长路径的话,这么输入的话就比较麻烦,如果嫌麻烦就在前面加r, raw,原始字符串.
表示保持原样,尤其是正则表达式匹配中,原始字符串会非常有用。
>>> print ‘C:\\python27\\lib\\test\\pack1\\pack2\\pack3‘
C:\python27\lib\test\pack1\pack2\pack3
>>> print r‘C:\python27\lib\test\pack1\pack2\pack3‘
C:\python27\lib\test\pack1\pack2\pack3
一般python用的8位ASCII来存储数据的,如果想用Unicode字符来存储的话,则可以存储16位,可以存储更多的字符。用户类似于r
>>> u‘Hello,World!‘
u‘Hello,World!‘
本章节主要的内置函数
函数名 作用 例子
========================================================================
abs(number) 返回数字的绝对值 >>> abs(-2) #2
cmath.sqrt(number) 返回数字的平方根 >>> cmath.sqrt(-4) #2j
float(object) 将字符串和数字转换为否点型 >>> float(‘123‘) #123.0
help() 提供帮助的交互式界面 >>>help(math.cmath) #或help()
input(prompt) 获取用户输入 >>>input("Enter nuber:") #见上文
raw_input(prompt) 获取用户输入,字符型>>>raw_input("Enter:") #见上文
long(object) 将字符串和数字转换为长整数型 >>> long(‘12345‘)#12345L
math.ceil(number) 返回数的上入部分,否点型 >>> math.ceil(1.4) #2.0
math.floor(number) 返回数的下舍部分,否点型 >>> math.floor(-1.6)#-2.0
pow(x,y[,z]) 返回x的y次幂,再对z取模 >>> pow(3,2,4) #1
repr(object) 返回值的字符串方式 >>> repr(1234) #‘1234‘
str(object) 将值转换为字符串 >>> str(12345) #‘12345‘
round(number[,ndigit])根据指定精度的数字进行四舍五入操作 >>>round(3.14) #3.0
<<Python基础教程>>学习笔记之|第01章|基础知识