数据类型转换与自定义函数

来源:互联网 发布:淘宝网男手提包 编辑:程序博客网 时间:2024/06/05 04:58

1. int()、float()、str()、bool()

使用以上四种函数可以对不同变量类型进行转换。例如:

int("123")float("3.3")str(111)bool(0)
上面例子中,前两个语句将字符串分别转换为了整数型和浮点型,第三个语句将整数型转换成字符串,最后一个将数据转换成布尔型。
注意,对于bool转换,只有以下数值会被认为是False:

  • 为0的数字,包括0或0.0
  • 空字符串,包括""和''
  • 表示空值的None
  • 空集合,包括()、[]、{}

2. def

除了使用python自带的函数,python还支持自建函数,所有自建函数都用def定义。例如:

def sayhello():    print("hello world")sayhello()sayhello()sayhello()
上面代码定义了新函数sayhello(),下面的三次调用中,都会自动打印出三次"hello world"。

注意,在很多时候自定义函数后面的括号中可以写入函数所需的参数。例如:

def jisuanqi(x,y):    print("计算结果等于"+str(x+y))jisuanqi(input(),input())

将常用功能写成自定义函数后,代码整体会变得更加简洁,例如之前的猜数字游戏:

def bijiao(x,y):    if x>y:        print("输入数字太大")        return False    if x<y:        print("输入数字太小")        return False    if x==y:        print("恭喜你,猜对了!")        return Truefrom random import randintnum=randint(1,100)print("猜猜数字是多少?")bingo=Falsewhile bingo==False:    v=input()    bingo=bijiao(v,num)
return为自定义函数返回一个具体的数值,它可以是任何类型。以上例子中将其赋值为布尔型。

象限小游戏:

def shifoujixu(u):    if u=="Yes":        return True    elif u=="No":        return Falsedef xiangxianpanduan(x,y):    if x>0:        if y>0:            print("第一象限!")        elif y<0:            print("第四象限!")        else:            print("x坐标轴!")    elif x<0:        if y>0:            print("第二象限!")        elif y<0:            print("第三象限!")        else:            print("x坐标轴!")    else:        if y!=0:            print("y坐标轴!")        else:            print("这是原点啊亲!")z=Truewhile z==True:    print("请输入横纵坐标,我们会告诉你它位于哪个象限。\n请输入横坐标:")    x=input()    print("请输入纵坐标:")    y=input()    xiangxianpanduan(x,y)    print("请问是否再做一次?")    u=input()    z=shifoujixu(u)