我的Python基础(二)
python包含6种内奸的序列:列表、元组、字符串、Unicode字符串、buffer对象和xrange对象
列表和元组的主要区别在于,列表可以修改,元组则不能。
索引:
使用负数索引时,最后一个元素的位置编号是-1
下面的代码自己也有不明白的地方:
分片:可以使用分片操作来访问一定范围内的元素。
列表,支持相加;li.extend()批量增加
v1=[1,1]
v2=[2,2]
v3=v1+v2
v1.extend(v2)
print(v3)
print(v1)
推导式for循环嵌套:
data = []
for i in ['a','b']:
for j in [1,2,3]:
data.append((i,j))
print(data)
data = [(i,j) for i in ['a','b'] for j in [1,2,3]]
print(data)
函数,函数名本质是一个变量
函数基础:
关键字传参和位置传参。两种方式可以混搭,但关键字传参一定要放到后面
默认参数
动态参数:在执行函数时,可以支持任意个参数 *args,内部处理自动打包成元组
def x(*args):
pass
x('n','ss')
li = ['kk','ii']
x(*li)
**args,都必须用关键字传参
def xx(**x1):
pass
xx(x='ww',v=123)
dic = {'name':'jack','age':18}
xx(**dic)
混合使用
def func(*args,**kwargs):
pass
func(1,2,4,v='xx')
func(1,2,3)
return:
'''
返回值:函数中未出现return,默认则为None
函数一旦遇到return则立即终止
return 后面未写值 则为None
return 1, 如果返回值加了","则返回类型是元组
'''
def get_count():
text = 'nihehifhieeo'
count = 0
for item in text:
if item == 'h':
count += 1
return count
res = get_count()
print(res)
函数进阶:
函数名本质是变量:
num = 123
age = 18
def func():
return 666
data_list = [num,age,func]
print(data_list)
_list = [num,age,func()]
print(_list)
def a():
pass
def b():
pass
def c():
pass
data_func = [a,b,c]
for item in data_func:
item()
dic_func = {
'1':a,
'2':b,
'3':c
}
dic_func['2']()
def login():
pass
def register():
pass
def show_user():
pass
print("welcome to xxx system,1 login 2 register 3 show user list")
choice = input("please choice No")
if choice == '1':
login()
elif choice == '2':
register()
elif choice == '3':
show_user()
else:
sys.exit()
'''
method 2:
'''
func_list = [login,register,show_user]
if int(choice) in (0,len(func_list)):
func_list[int(choice)]()
else:
sys.exit()
"""
method 3
"""
func_dict = {
"1":login,
"2":register,
"3":show_user
}
func = func_dict.get(choice)
if func == None:
print("error")
else:
func()
def f1(a):
pass
def f2(a,b=None):
pass
func_list = [f1,f2]
for item in func_list:
item(1)
"""
method parames can any type
"""
def f1(a,b,c,d,e,f):
pass
def f2():
pass
name = 'jack'
f1(1,name,['3',3],True,(2,),f2)
变量作用域:
函数参数传递引用(内存地址):
关于默认参数,默认参数不要用可变类型:
def func(num,l=[]):
l.append(num)
return l
v1 = func(11)
v2 = func(22,[55,33])
v3 = func(44)
print(v1) #[11, 44]
print(v2) #[55, 33, 22]
print(v3) #[11, 44]
函数高级:
生成器函数,yield关键字是标志,只有被循环时才执行。平时用的较少,底层代码会用到
#生成器
def f():
print("-----")
yield 1
print("*****")
yield 2
#生成器对象
data = f()
for item in data:
print(item)
def create_num(max_num:int):
val = 0
while True:
if val == max_num:
return
yield val
val += 1
data = create_num(10)
for item in data:
print(item)
eval() 字符串编译成函数拿过来用
def f(arg):
print(arg)
data = "f('jjj')"
eval(data)
jsonp类型的用eval()便捷
import requests
def jsonp_queryMoreNums(args):
print(args)
res = requests.get(url="https://num.10010.com/NumApp/NumberCenter/qryNum?callback=jsonp_queryMoreNums")
# print(res.text)
# print(type(res.text))
eval(res.text.rstrip(";"))
闭包 装饰器 生成器
我的Python基础(二)的更多相关文章
- Python 基础 二
Python 基础 二 今天对昨天学习的Python基础知识进行总结,学而不思则惘,思而不学则殆! 一.先对昨天学习的三大循环的使用情况进行总结: 1.while循环的本质就是让计算机在满足某一条件的 ...
- 进击的Python【第二章】:Python基础(二)
Python基础(二) 本章内容 数据类型 数据运算 列表与元组的基本操作 字典的基本操作 字符编码与转码 模块初探 练习:购物车程序 一.数据类型 Python有五个标准的数据类型: Numbers ...
- Python基础(二) —— 字符串、列表、字典等常用操作
一.作用域 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. 二.三元运算 result = 值1 if 条件 else 值2 如果条件为真:result = 值1如果条件为 ...
- python基础(二)----数据类型
Python基础第二章 二进制 字符编码 基本数据类型-数字 基本数据类型-字符串 基本数据类型-列表 基本数据类型-元组 可变.不可变数据类型和hash 基本数据类型-字典 基本数据类型-集合 二进 ...
- python基础二(基础数据类型)
一. 引子 1. 什么是数据 x=10,10是我们要存储的数据 2. 为何数据要分不同的类型 数据是用来表示状态的,不同的状态就应该用不同的类型的数据去表示 3.数据类型 数字 字符串 列表 元组 字 ...
- Python菜鸟之路:Python基础(二)
一.温故而知新 1. 变量命名方式 旧的方式: username = 'xxxx' password = 'oooo' 新的方式: username, password = 'xxxx', 'oooo ...
- python基础二(list,tuple元祖、dic字典,字符串)
一.列表list 1.list定义 列表即数组 ,list或array..列表中的每个元素都有自己的编号,从0开始,编号也可叫做下标,角标,索引.最后一个元素的下标也可用-1表示.: list定义时, ...
- Python基础二. 数据结构、控制流、运算符、真值测试
一.概述 数据结构上广义上有两种,单一类型和集合类型 单一类型,表示一种对象 集合类型,表示包含多种对象 Python 中的内建的数据类型有str.list.tuple.dict.set.number ...
- 【笔记】Python基础二:数据类型之集合,字符串格式化,函数
一,新类型:集合 集合出现之前 python_l = ['lcg','szw','zjw'] linux_l = ['lcg','szw','sb'] #循环方法求交集 python_and_linu ...
- Python之路-python基础二
本章内容: 一.编码格式 二.常用数据类型 三.字符串常用方法 四.列表常用方法 五.数据运算 六.课后作业 编码格式: ASCII A ...
随机推荐
- 第八十一篇:Vue购物车(二) 名称,图片,价格的渲染
好家伙, 1,为组件封装属性, 需要封装以下属性: 需要定义的属性 属性名 值的类型 商品名 title String 商品图片 pic String 商品价格 price Number 是否勾选 s ...
- C语言:多功能计算器
好家伙,这个东西有点折磨 这是一个多功能计算器 #include<stdio.h> #include<math.h> #include<windows.h> voi ...
- MyBatis标签之Select resultType和resultMap
摘要:介绍MyBatis 中Select标签的两个属性resultType和resultMap及其区别. 1 MyBatis动态SQL之if 语句 2 MyBatis动态sql之where标签|转 3 ...
- Stream流式计算
Stream流式计算 集合/数据库用来进行数据的存储 而计算则交给流 /** * 现有5个用户,用一行代码 ,一分钟按以下条件筛选出指定用户 *1.ID必须是偶数 *2.年龄必须大于22 *3.用户名 ...
- Kubernetes 存储系统 Storage 介绍:PV,PVC,SC
要求:先了解数据docker容器中数据卷的挂载等知识 参考网址: https://www.cnblogs.com/sanduzxcvbnm/p/13176938.html https://www.cn ...
- Kubernetes 多租户:多租户介绍
多租户集群由多个用户和/或工作负载共享,这些用户和/或工作负载被称为"租户".多租户集群的运营方必须将租户彼此隔离,以最大限度地减少被盗用的租户或恶意租户可能对集群和其他租户造成的 ...
- Pod的dns记录怎么组成的
Pod的dns记录怎么组成的 <Pod Name>.<service name>.<namespace name>.svc.cluster.local Pod的Na ...
- PVC-U排水管及管件
- 工厂里懂得mes和erp有发展吗?
在工厂里懂得MES.ERP肯定有发展啊,现在数字化转型.智能制造正当时,ERP.MES之类的系统是刚需,只是不同工厂启动的早晚有别,使用的系统不相同而已,但知识体系.逻辑.理念等大都是相通的.比如你熟 ...
- docker搭建个人云盘可道云kodbox
1.拉取kodbox镜像 (文章最后有自己编写yml文件可直接搭建) docker pull tznb/kodbox:1.15 2. 创建并启动kodbox docker run -d -it --n ...