我的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 ...
随机推荐
- 第二十二篇:有关插槽solt的使用
1.什么是插槽? 插槽就是子组件中的提供给父组件使用的一个占位符,用<slot></slot> 表示, 父组件可以在这个占位符中填充任何模板代码,如 HTML.组件等,填充的内 ...
- KingbaseES OUT 类型参数过程与函数的调用方法
对于含有 out 类型参数的过程或者函数,只能通过块方式调用,这是因为,ksql 还不支持类似 Oracle 那样通过 var 定义变量. 一.带OUT的procedure 调用 创建过程: crea ...
- KingbaseES ksqlrc文件介绍
ksqlrc文件作用 ksql在连接到数据库后但在接收正常的命令之前,会尝试读取并执行该文件中的命令,如果加上-X参数,则跳过该文件. 系统级的启动文件是ksqlrc,文件在安装好的KingbaseE ...
- Elasticsearch-shell脚本实现定时删除指定时间以前索引
〇.前言 因为elastiflow的数据量还是挺大的,接入了两台交换机的flow数据量已经开始有点大了.所以得写个脚本专门来清理索引 一.如何使用elastic的API 1.手动查询所有索引 在ELK ...
- Typora自动上传超级详细教程!!
第一步检查环境变量 打开cmd 查看以下环境变量 需要软件: Typora PicGo gitee账号 配置node 配置git 第二步创建gitee仓库 设置仓库名直接创建,因为这里不能直接修改开源 ...
- 我的 Kafka 旅程 - Linux下的安装 & 基础命令
准备工作 安装解压缩工具 tar # 检查是否安装了解压缩工具 tar yum list tar # 如未安装 tar yum install tar -y 安装必备的 java # 检查是否安装了 ...
- 在CentO7系统上配置Springboot项目jar包开机自启动
官方文档地址:https://docs.spring.io/spring-boot/docs/current/reference/html/deployment.html#deployment-ins ...
- 文档的CURD
Index方式,需要指定ID 如果ID不存在,创建新的文档,状态是created 如果ID存在,会先删除现有ID的文档,然后创建一个新文档,ID数加1,状态是updated PUT test/_doc ...
- Linux 宝塔部署 ASP.NET Core 应用
第一步,发步应用 我这是一个API 应用和 MVC 应用 设置,服务器上要运行的端口 API 端口5000 MVC 端口5001 打包文件夹,发步 1.桌面新建俩个文件夹 2.右键项目发步,选中iis ...
- 某云负载均衡获取客户端真实IP的问题
某云负载均衡真实IP的问题,我们这边已经遇到过两次了.而且每次和售后沟通的时候都大费周折,主要是要给售后说明白目前文档的获取真实IP是有问题的,他们觉得文档上说明的肯定没问题,售后要是不明白,他们不会 ...