对Python的基本知识进行了重温和总结。
1.一般用反斜杠 / 将Python的一行语句分为多行显示
total = item\_one + \\
item\_two + \\
item\_three
2.raw_input 输入内容 遇见回车终止并跳出
raw\_input("\\n\\nPress the enter key to exit.")
3.数据类型之List -- 列表
个人理解类似C++中的数组
list = \[ 'Ma', 786 , 2.23, 'john', 70.2 \]
tinylist \= \[123, 'john'\]
print list # 输出完整列表
print list\[0\] # 输出列表的第一个元素
print list\[1:3\] # 输出第二个至第三个元素
print list\[2:\] # 输出从第三个开始至列表末尾的所有元素
print tinylist \* 2 # 输出列表两次
print list + tinylist # 打印组合的列表
4.数据类型之 Tuple -- 元组
相当于一个只读的List
tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 )
tinytuple \= (123, 'john')
print tuple # 输出完整元组
print tuple\[0\] # 输出元组的第一个元素
print tuple\[1:3\] # 输出第二个至第三个的元素
print tuple\[2:\] # 输出从第三个开始至列表末尾的所有元素
print tinytuple \* 2 # 输出元组两次
print tuple + tinytuple # 打印组合的元组
5.数据类型之Dictionary -- 字典
dict = {}
dict\['one'\] = "This is one"
dict\[2\] = "This is two"
tinydict \= {'name': 'john','code':6734, 'dept': 'sales'}
print dict\['one'\] # 输出键为'one' 的值
print dict\[2\] # 输出键为 2 的值
print tinydict # 输出完整的字典
print tinydict.keys() # 输出所有键
print tinydict.values() # 输出所有值
6.判断数据类型 之 type 与 isinstance
\>>> class A:
... pass
...
\>>> class B(A):
... pass
...
\>>> isinstance(A(), A)
True
\>>> type(A()) == A
False
\>>> isinstance(B(), A)
True
\>>> type(B()) == A
False
区别就是:
type()不会认为子类是一种父类类型。
isinstance()会认为子类是一种父类类型。
7.逻辑运算符
x and y -- x为False , 返回False,反之,返回y
x or y -- x非零,返回x,否则返回y
not x -- x为True,返回False,x为False,返回True
8.成员运算符
in 如果在指定的序列中找到值返回 True,否则返回 False。
not in 如果在指定的序列中没有找到值返回 True,否则返回 False。
9.身份运算符
is -- is 是判断两个标识符是不是引用自一个对象
is not -- is not 是判断两个标识符是不是引用自不同对象
10.条件语句(if)
if 判断条件1:
执行语句1......
elif 判断条件2:
执行语句2......
elif 判断条件3:
执行语句3......
else:
执行语句4......
11.循环之while
count = 0
while (count < 9):
print 'The count is:', count
count \= count + 1
print "Good bye!"
12.循环之for
for letter in 'Python': # 第一个实例
print '当前字母 :', letter
fruits \= \['banana', 'apple', 'mango'\]
for fruit in fruits: # 第二个实例
print '当前水果 :', fruit
print "Good bye!"
13.循环嵌套
嵌套循环求出100以内的素数
i = 2
while(i < 100):
j \= 2
while(j <= (i/j)):
if not(i%j): break
j \= j + 1
if (j > i/j) : print i, " 是素数"
i \= i + 1
print "Good bye!"
14.Python字符串的三引号
python中三引号可以将复杂的字符串进行复制:
python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。
三引号的语法是一对连续的单引号或者双引号(通常都是成对的用)。
15.关于Python中 Unicode 和 ASCII
计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。Unicode标准也在不断发展,但最常用的是用两个字节表示一个字符(如果要用到非常偏僻的字符,就需要4个字节)。现代操作系统和大多数编程语言都直接支持Unicode。
ASCII编码和Unicode编码的区别:
ASCII编码是1个字节,而Unicode编码通常是2个字节,举例如下。
字母 A 用ASCII编码是十进制的65,二进制的01000001;
字符 0 用ASCII编码是十进制的48,二进制的00110000,注意字符 '0' 和整数
0 是不同的;
汉字 中 已经超出了ASCII编码的范围,用Unicode编码是十进制的20013,二进制的01001110 00101101。
如果把ASCII编码的 A 用Unicode编码,只需要在前面补0就可以,因此, A 的Unicode编码是00000000 01000001。
16.datetime模块获取时间
import datetime
i \= datetime.datetime.now()
print ("当前的日期和时间是 %s" % i)
print ("ISO格式的日期和时间是 %s" % i.isoformat() )
print ("当前的年份是 %s" %i.year)
print ("当前的月份是 %s" %i.month)
print ("当前的日期是 %s" %i.day)
print ("dd/mm/yyyy 格式是 %s/%s/%s" % (i.day, i.month, i.year) )
print ("当前小时是 %s" %i.hour)
print ("当前分钟是 %s" %i.minute)
print ("当前秒是 %s" %i.second)
17.Python函数
函数参数的说明:
在 python 中,strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象。
-
**不可变类型:**变量赋值 a=5 后再赋值 a=10,这里实际是新生成一个 int 值对象 10,再让 a 指向它,而 5 被丢弃,不是改变a的值,相当于新生成了a。
-
**可变类型:**变量赋值 la=[1,2,3,4] 后再赋值 la[2]=5 则是将 list la 的第三个元素值更改,本身la没有动,只是其内部的一部分值被修改了。
python 函数的参数传递:
-
**不可变类型:**类似 c++ 的值传递,如 整数、字符串、元组。如fun(a),传递的只是a的值,没有影响a对象本身。比如在 fun(a)内部修改 a 的值,只是修改另一个复制的对象,不会影响 a 本身。
-
**可变类型:**类似 c++ 的引用传递,如 列表,字典。如 fun(la),则是将 la 真正的传过去,修改后fun外部的la也会受影响
lamda匿名函数:只包含一个语句
# 可写函数说明
sum = lambda arg1, arg2: arg1 + arg2;
# 调用sum函数
print "相加后的值为 : ", sum( 10, 20 )
print "相加后的值为 : ", sum( 20, 20 )
18.变量的作用域
定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。
局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问。调用函数时,所有在函数内声明的变量名称都将被加入到作用域中。如下实例:
total = 0; # 这是一个全局变量
# 可写函数说明
def sum( arg1, arg2 ):
#返回2个参数的和."
total = arg1 + arg2; # total在这里是局部变量.
print "函数内是局部变量 : ", total
return total;
#调用sum函数
sum( 10, 20 );
print "函数外是全局变量 : ", total
结果 局部变量为 30 全局变量为0
全局变量想作用于函数内,需加 global
19.导入模块相关
当你导入一个模块,Python 解析器对模块位置的搜索顺序是:
1、当前目录
2、如果不在当前目录,Python 则搜索在 shell 变量 PYTHONPATH 下的每个目录。
3、如果都找不到,Python会察看默认路径。UNIX下,默认路径一般为/usr/local/lib/python/。
模块搜索路径存储在 system 模块的 sys.path 变量中。变量里包含当前目录,PYTHONPATH和由安装过程决定的默认目录。
20.包
包是一个分层次的文件目录结构,它定义了一个由模块及子包,和子包下的子包等组成的 Python 的应用环境。
简单来说,包就是文件夹,但该文件夹下必须存在 init.py 文件, 该文件的内容可以为空。int.py用于标识当前文件夹是一个包。