2017年3月18日22:06:15
Python忘得差不多了。
重新回忆一下
用的Pycharm+ python2.7
print "hello world!"
数据类型:
Number 数字 分为四类:int 、long、float、complex
初始化:
i=3
print i
String 字符串
初始化:
# 单引号
var1 = 'hello world!'
print "var1:\t" + var1
print "var1[1:5]:\t" + var1[1:5]
# 输出结果如下:
# var1: hello world!
# var1[1:5]: ello
补充:
if语句
if ('h' in var1):
print "h在\"hello world!\"里面"
else:
print "h不在\"hello world!\"里面"
print r'\n' # 输出原始字符
# 输出结果如下:
# h在"hello world!"里面
# \n
split(' ',num) num为分割次数
str='hello world hello'
print str.split(' ',1)
# 输出结果如下:
# ['hello', 'world hello']
# 注释:list类型
List 列表
list1=['123',1,"hello wolrd"]
print list1[1:]
del list1[1]
print list1[1:]
# 输出结果
# [1, 'hello wolrd']
# ['123', 'hello wolrd']
补充:del list 删除了该对象
list=['123','321']
del list1
print list1
# 输出提示没有定义
Tuple 元组
和list差不多 不过不可以修改元素
初始化:
tup=('123','32','2')
print tup
# 输出结果:
# ('123', '32', '2')
Dictionary 字典
dic={"age":1,"name":"hello world"}
print dic
print dic['age']
dic["school"]="123"
print dic
# 输出结果:
# {'age': 1, 'name': 'hello world'}
# 1
# {'age': 1, 'name': 'hello world', 'school': '123'}
for语句:
for letter in "hello":
print letter
# 输出结果:
# l
# e
# t
# t
# e
# r
for number in range(1,3):
print number
# 输出结果:
# 0
# 1
# 2
函数
可变对象 不可变对象
在 python 中,strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象。
如果可变对象修改了则会新产生一个对象,而不是原先的对象。
所以在函数中:
如果参数是可变对象,那么该值改变
如果参数是不可变对象,那么该值不给变
例子如下:
# 不可变对象参数作为参数
def change(a):
a=10
print a
a=2
print a
change(a)
print a
# 结果如下:
# 2
# 10
# 2
# 可变对象作为参数
def change(list):
list.append('1');
print list
list=[1,2,3]
print list
change(list)
print list
# 输出结果为:
# [1, 2, 3]
# [1, 2, 3, '1']
# [1, 2, 3, '1']
函数参数:
必备参数:
#可写函数说明
def printme( str ):
"打印任何传入的字符串"
print str;
return;
#调用printme函数
printme();
# 输出报错
关键字参数:
#可写函数说明
def printme( str ):
"打印任何传入的字符串"
print str;
return;
#调用printme函数
printme( str = "My string");
# 注:也就是多了个str=""便于匹配
如下面例子:可改变参数顺序。
#可写函数说明
def printinfo( name, age ):
"打印任何传入的字符串"
print "Name: ", name;
print "Age ", age;
return;
#调用printinfo函数
printinfo( age=50, name="miki" );
# 输出结果:
# Name: miki
# Age 50
缺省参数:
#可写函数说明
def printinfo( name, age = 35 ):
"打印任何传入的字符串"
print "Name: ", name;
print "Age ", age;
return;
#调用printinfo函数
printinfo( age=50, name="miki" );
printinfo( name="miki" );
# 输出结果为:
# Name: miki
# Age 50
# Name: miki
# Age 35
不定参数:
# 可写函数说明
def printinfo( arg1, *vartuple ):
"打印任何传入的参数"
print "输出: "
print arg1
for var in vartuple:
print var
return;
# 调用printinfo 函数
printinfo( 10 );
printinfo( 70, 60, 50 );
# 输出结果为:
# 输出:
# 10
# 输出:
# 70
# 60
# 50
Python特色:匿名函数lambda
语法:lambda [arg1 [,arg2,.....argn]]:expression
# 可写函数说明
sum = lambda arg1, arg2: arg1 + arg2;
# 调用sum函数
print "相加后的值为 : ", sum( 10, 20 )
print "相加后的值为 : ", sum( 20, 20 )
# 输出结果:
# 相加后的值为 : 30
# 相加后的值为 : 40
return 语句:
和Java,C用法一样
# 可写函数说明
def sum( arg1, arg2 ):
# 返回2个参数的和."
total = arg1 + arg2
print "函数内 : ", total
return total;
# 调用sum函数
total = sum( 10, 20 );
# 输出结果:
# 函数内 : 30
变量:
全局变量、局部变量
total = 0; # 这是一个全局变量
# 可写函数说明
def sum( arg1, arg2 ):
#返回2个参数的和."
total = arg1 + arg2; # total在这里是局部变量.
print "函数内是局部变量 : ", total
return total;
#调用sum函数
sum( 10, 20 );
print "函数外是全局变量 : ", total
# 输出结果:
# 函数内是局部变量 : 30
# 函数外是全局变量 : 0
注:要想在函数内使用全局变量需要这样声明:
Money = 2000
def AddMoney():
# 想改正代码就取消以下注释:
# global Money
Money = Money + 1
主函数
def init():
print "hello world"
if __name__ == '__main__':
init()
输入输出
输入
一般使用raw_input()
raw_inputt() 输入作为字符串
str = raw_input("请输入:");
print "你输入的内容是: ", str
结果如下:
请输入:Hello Python!
你输入的内容是: Hello Python!
input() 如果是数字 作为数值
可以用表达式输入
str = input("请输入:");
print "你输入的内容是: ", str
输出
print "hello world"