字符串相关方法
list1 = ['你好', 'hello', 'abc']
result = '+'.join(list1)
print(result)
result = 'And'.join('abc')
print(result)
nums = [19, 23, 45, 67, 23, 90]
result = '+'.join([str(x) for x in nums])
print(result)
str1 = '你好abc123abc哈哈哈abc呵呵呵abc==='
result = str1.split('abc')
print(result)
str2 = '19+23+45+67+23+90'
result = [int(x) for x in str2.split('+')]
print(result)
str1 = '你好abc123abc哈哈哈abc呵呵呵abc==='
result = str1.split('abc', 2)
print(result)
str1 = 'abc你好abc123abcabc哈哈哈abc呵呵呵abc===abc'
result = str1.split('abc')
print(result)
str1 = '你好abc123abc哈哈哈abc呵呵呵abc==='
result = str1.replace('abc', 'MN')
print(result)
str1 = '你好abc123abc哈哈哈abc呵呵呵abc==='
result = str1.replace('abc', '')
print(result)
str1 = '你好abc123abc哈哈哈abc呵呵呵abc==='
print(str1.find('abc'))
print(str1.index('abc'))
print(str1.find('hello'))
str1 = '你好abc123abc哈哈哈abc呵呵呵abc==='
print(str1.count('abc'))
result = str1.count('abc', 3, -7)
print(result)
print('a'.upper())
print('abc'.upper())
print('你好abc123'.upper())
print('A'.lower())
table = str.maketrans('abc', '123')
print(table)
str1 = 'how are you? and baby? come!'
result = str1.translate(table)
print(result)
message = '电话号码:1101193478779'
table = str.maketrans('0123456789', '零一二三四五六七八九')
result = message.translate(table)
print(result)
print('237842'.isnumeric())
print('2839232'.isdigit())
print('237s842'.isnumeric())
print('237s842'.isdigit())
print('2738一十万千八捌ⅤⅡ'.isnumeric())
print('2738一十'.isdigit())
格式字符串
name = '小明'
age = 18
message = name + '今年' + str(age) + '岁!'
print(message)
"""
包含格式占位符的字符串 % (数据1, 数据2, 数据3,...)
常见的格式占位符:
%s - 可以给任何类型的数据占位
%d - 数字占位符,拼接的时候会将数字转换成整型
%f - 数字占位符,拼接的时候数字会保留6位小数
%.Nf - 数字占位符,拼接的时候数字会保留N位小数
"""
message = '%s今年%d岁!' % (name, age)
print(message)
str1 = 'x:%s y:%d z:%f t:%.2f' % ([10, 20, 30], -199.9223, 374, 234.7892)
print(str1)
"""
在字符串最外面加f,然后在字符串中通过{表达式}来提供字符串内容
"""
message = f'{name}今年{age}岁!'
print(message)
str1 = f'{name[0]}今年{age * 10}岁!'
print(str1)
a = b = c = 100
str2 = f'a: {a - 3}, b:{b * 2 / 5} c:{(300 + c) // 10}'
print(str2)
x = 3.34522
str1 = f'x:{x:.2f}元'
print(str1)
x = 0.67
str1 = f'4周就业率:{x:.1%}'
print(str1)
x = 15782000
str1 = f'余额为:{x:,}元'
print(str1)
str1 = f'余额为:{x:,.2f}元'
print(str1)
x = 1
str1 = f'学号为: python2206{x:0>3}'
print(str1)
认识函数
def factorial(n):
sum1 = 1
for x in range(1, n+1):
sum1 *= x
print(sum1)
factorial(7)
factorial(10)
factorial(5)
def left():
print('--------------左移---------------')
print('打左转灯')
print('观察后视镜')
print('向左打方向盘')
print('踩油门')
print('回正方向盘')
def right():
print('--------------右移---------------')
print('打右转灯')
print('观察后视镜')
print('向右打方向盘')
print('踩油门')
print('回正方向盘')
left()
right()
left()
left()
right()
right()
right()
left()
函数的定义调用
"""
函数就是实现某一特定功能的代码的封装。
(函数就把实现某一个功能的所有的代码打成一个包,以后在需要这段代码对应的功能的时候不需要再写这段代码了,而是直接调用封装这段代码的函数)
"""
"""
根据函数是由谁创建的可以将函数分为:系统函数、自定义函数
1)系统函数 - 由python(系统)创建的函数,例如:print函数、input函数、type函数、max、min等
2)自定义函数 - 由程序员自己创建的函数
"""
"""
语法:
def 函数名(形参列表):
函数说明文档
函数体
说明:
1)def - 关键字;固定写法
2)函数名 - 由程序员自己命名;
要求:是标识符;不是关键字
规范:见名知义(让别人看到函数名就大概知道这个函数的功能);所有的字母都小写,多个单词之间用下划线隔开;
不使用系统函数名、类名和模块名
3)() - 固定写法
4)形参列表 - 以'变量名1,变量名2,变量名3,...'的形式存在(这儿变量名的数量可以是任意多个,也可以一个都没有)
形参可以将函数外部的数据传递到函数内容。
定义函数的时候需不需要形参,需要几个形参,就看实现函数的功能需不需要额外的数据,需要几个额外的数据。
5) : - 固定写法
6)函数说明文档 - 本质就是多行注释
7)函数体 - 结构上,和def保持一个缩进的一条或者多条语句(至少1条);
逻辑上,函数体就是实现函数功能的代码
"""
"""
语法:
函数名(实参列表)
说明:
函数名 - 需要哪个函数的功能就调用哪个函数,就写哪个函数的函数名
() - 固定写法
实参列表 - 以'数据1, 数据2, 数据3,...'的形式存在,数据的个数由函数定义的时候的形参决定
"""
def sum2(num1, num2):
"""
(功能说明区)求两个数字的和
:param num1: (参数说明)第一个数
:param num2: 第二个数
:return:(返回值说明)None
"""
print(num1 + num2)
def sum_n(n):
s = 0
for x in range(1, n+1):
s += x
print(s)
sum_n(10)
sum_n(20)
def count_num(str1):
count = 0
for x in str1:
if '0' <= x <= '9':
count += 1
print(count)
count_num('hajdh 223jHahs收拾2')
a = '实施交付223'
count_num(a)
def del_empty_item(list1):
for x in list1.copy():
if not x and x != 0:
list1.remove(x)
print(list1)
nums = [10, 23, None, '', '234', 0, [], {}]
del_empty_item(nums)
def merge_str(str1, str2):
len1 = len(str1)
len2 = len(str2)
count = min(len1, len2)
str3 = ''
for x in range(count):
str3 += str1[x] + str2[x]
str3 += str1[count:] + str2[count:]
print(str3)
merge_str('abc', '123kmn')