字符串进阶
string1 = 'Hi,my name is Zeo!'
len(string1)
string1.count('n')
string1.find('name')
string1.split(' ')
string1.replace(' ', '_')
string1.upper()
string1.lower()
string1.capitalize()
格式化输出
name = 'Zeo'
hight = 167.5
score_math = 100
score_english = 98
print('hi, my name%s,我的身高%d cm, 数学成绩%d分,英语成绩%d分' % (name,hight,score_math,score_english))
print('大家好!我叫{:s},我的身高是{:d} cm, 数学成绩{:d}分,英语成绩{}分'.format(name, int(hight), score_math, score_english))
print(f"大家好!我叫{name},我的身高是{int(hight)} cm, 数学成绩{score_math}分,英语成绩{score_english}分")
列表进阶
list1 = ['a','b','c','d','e','f']
list1.append('g') # 在末尾添加元素
list1.insert(2, 'ooo') # 在指定位置添加元素,如果指定的下标不存在,那么就是在末尾添加
list2 = ['z','y','x']
list1.extend(list2) #合并两个list list2中仍有元素
函数
def student_name(name):
"打印学生的名字"
print('姓名:', name)
return {'姓名':name}
# 返回多个值
def student_name_and_age():
"记录学生的名字和年龄"
name = input('请输入姓名\n')
age = int(input('请输入年龄\n'))
print(f'姓名:{name};年龄:{age}')
return name,age
# 可变参数
# 可变参数就是传入的参数个数是可变的,可以是1个、2个到任意个,还可以是0个。
def all_student_names(*names):
for name in names:
print('姓名:', name)
# 关键字参数
# 关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。
def student_info(name, age, **kw):
print(f'我的名字叫:{name},年龄:{age},其它信息:{kw}')
if 'city' in kw:
print('来自:', kw['city'])
student_info('张三', 18, height=180, city='北京')
变量的作用域和global变量
name = '张三'
def print_my_name():
name='李四'
print(name)
print_my_name()
lambda匿名函数
python 使用 lambda 来创建匿名函数。
lambda 只是一个表达式,函数体比 def 简单很多。
lambda 的主体是一个表达式,而不是一个代码块。仅仅能在 lambda 表达式中封装有限的逻辑进去。
lambda 函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。
虽然 lambda 函数看起来只能写一行,却不等同于 C 或 C++ 的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。
# lambda 若干个输入参数 : 返回值的表达式
lambda arg1, arg2: arg1 + arg2
闭包
python中的闭包从表现形式上定义(解释)为:如果在一个内部函数里,对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就被认为是闭包(closure).
def create_pointer(my_string):
def pointer(n):
return my_string[n]
return pointer
pointer = create_pointer('my name is Molly')
pointer(5)
装饰器
是一种函数的函数,因为装饰器传入的参数就是一个函数,然后通过实现各种功能来对这个函数的功能进行增强。
# 装饰器输入一个函数,输出一个函数
def print_working(func):
def wrapper():
print(f'{func.__name__} is working...')
func()
return wrapper
def worker1():
print('我是一个勤劳的工作者!')
worker1 = print_working(worker1)
worker1()
@print_working
def worker1():
print('我是一个勤劳的工作者!')
worker1()
偏函数
通过设定参数的默认值,降低函数调用的难度
def student_info(name, age, city='北京'):
print(f'我的名字叫{name}, 今年{age}岁,来自{city}')
student_info('Molly',18)
模块
import time
print(time.time())
time.sleep(1)
print(time.time())
安装/卸载第三方模块
pip install / uninstall
conda install / uninstall
网友评论