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

# 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数据类型,匿名函数,排序,字符串等操作)