美文网首页
python数据类型,匿名函数,排序,字符串等操作

python数据类型,匿名函数,排序,字符串等操作

作者: miniminiming | 来源:发表于2017-12-12 00:05 被阅读0次

    # a = 11

    # b = 11

    # # 1438240528

    # # 1438240528  两个值的内存地址一样,看来常量的存储和使用方式和java一样

    # print(id(a))

    # print(id(b))

    # ====================================================

    # a = "hello"

    # print(a[0])

    # 字符串,它是不可修改类型,其他不可变类型包括数字,元组,只有这三种

    # 两种可变类型为,数组和字典

    # a[0] = "w"  # 'str' object does not support item assignment.

    # 数组不能当字典的key,因为它的key跟Hashmap的key一样,用HashCode排列

    # 的,因此,如果key是可变类型的,排序可能会出错,所以数组和字典都不能当key

    # a = {"name": "laowang", {"n": 2}: "shit"}

    # a = {"name": "laowang", [3, 4]: "shit"}

    # print(a)  # unhashable type: 'dict'

    # ====================================================

    # 用递归求阶乘

    # def get_result(num):

    #    # 如果为1,返回1

    #    if num == 1:

    #        return 1

    #    # 如果大于1,则递归往下走

    #    else:

    #        return num * get_result(num - 1)

    #

    #

    # print(get_result(3))

    # ====================================================

    # 匿名函数    lambda 参数:式子

    # 后面的x+y的式子,相当于返回值

    # func = lambda x, y: x + y

    # print(func(66, 22))  # 88

    # ====================================================

    # nums = [23, 1, 4, 345, 43, 24, 54, 24, 4]

    # # 排序

    # nums.sort()

    # nums = [{"name": "ladf", "age": 23},

    #        {"name": "daladf", "age": 33},

    #        {"name": "adfadf", "age": 13}]

    # # nums.sort()#直接排序会报错  not supported between instances of 'dict' and 'dict'

    # # 用匿名函数,实现以age来排序,x在此处代表的是每一个字典元素

    # # nums.sort(key=lambda x: x["age"])

    # nums.sort(key=lambda x: x["name"])

    # print(nums)

    # ====================================================

    # 匿名函数的另一种使用方式,类似java方法中使用的CallBack

    # def test(a, b, func):

    #    result = func(a, b)

    #    print(result)

    #

    #

    # # 相当于设置了一个匿名类,调用了一个方法,但是是由这个方法来触发的

    # # test(33, 44, lambda x, y: x + y)

    # # 骚操作,后来用输出一个函数来执行

    # func_new = input("输入一个匿名函数")

    # func_new = eval(func_new)  # 能去掉双引号,不然默认是字符串

    # test(11, 22, func_new)

    # ====================================================

    # 两个数,交换值

    a = 4

    b = 5

    # 方法1

    # c = a

    # a = b

    # b = c

    # print(a, b)

    # 方法二

    # a = a + b

    # b = a - b

    # a = a - b

    # print(a, b)

    # 方法三

    # a, b = b, a

    # print(a, b)

    # ====================================================

    # num = [100]

    # num+=num 并不真正的等价于 num=num+num,后者会创建新的堆内存对象,赋值给num

    # ====================================================

    # 字符串操作

    # myStr = "  my name is wanG feI ge ,i am yOur faTher  "

    # print(myStr.find("isss"))  # 如果找不到,就返回-1,找到返回首字母索引

    # print(myStr.index("isss"))  # 如果找不到,就会崩溃出错

    # print(myStr.rindex("isss"))  # 从右找

    # print(myStr.count("i")) #字符的数量

    # print(myStr.replace("i", "your"))  # 字符替换,不更换原有数据,而是返回新数据

    # print(myStr.replace("i", "your",1))  # 字符替换,可以只换某几个

    # print(myStr.split(" "))  # 切割,如果什么也不传,则按不可见的字符切,如空格,回车,制表符

    # print(myStr.capitalize())  # 把第一个字变成大写

    # print(myStr.title())  # 把所有字的第一个字母字变成大写

    # print(myStr.startswith("my"))  # 是否以某个开头

    # print(myStr.lower())  # 全转小写

    # print(myStr.upper())  # 全转大写

    # print(myStr.ljust(50))  # 左对齐

    # print(myStr.rjust(50))  # 右对齐

    # print(myStr.center(50))  # 居中

    # print(myStr.rstrip())  # 去右边空格

    # print(myStr.lstrip())  # 去左边空格

    # print(myStr.strip())  # 去两边空格

    # print(myStr.partition("is"))  # 以左边第一个is来把它分开,变成三个元素的数组

    # file_content = "i am \n your \n father"

    # print(file_content.splitlines())  # 按行分成一个数组

    # print(myStr.isalpha())#是否全字母

    # print(myStr.isdecimal())#是否全数字

    # print("*".join(myStr.split(" ")))#把一个字符加入到一个数组中,形成一个字符串

    # ====================================================

    相关文章

      网友评论

          本文标题:python数据类型,匿名函数,排序,字符串等操作

          本文链接:https://www.haomeiwen.com/subject/nkfgixtx.html