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基础(二)的更多相关文章

  1. Python 基础 二

    Python 基础 二 今天对昨天学习的Python基础知识进行总结,学而不思则惘,思而不学则殆! 一.先对昨天学习的三大循环的使用情况进行总结: 1.while循环的本质就是让计算机在满足某一条件的 ...

  2. 进击的Python【第二章】:Python基础(二)

    Python基础(二) 本章内容 数据类型 数据运算 列表与元组的基本操作 字典的基本操作 字符编码与转码 模块初探 练习:购物车程序 一.数据类型 Python有五个标准的数据类型: Numbers ...

  3. Python基础(二) —— 字符串、列表、字典等常用操作

    一.作用域 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. 二.三元运算 result = 值1 if 条件 else 值2 如果条件为真:result = 值1如果条件为 ...

  4. python基础(二)----数据类型

    Python基础第二章 二进制 字符编码 基本数据类型-数字 基本数据类型-字符串 基本数据类型-列表 基本数据类型-元组 可变.不可变数据类型和hash 基本数据类型-字典 基本数据类型-集合 二进 ...

  5. python基础二(基础数据类型)

    一. 引子 1. 什么是数据 x=10,10是我们要存储的数据 2. 为何数据要分不同的类型 数据是用来表示状态的,不同的状态就应该用不同的类型的数据去表示 3.数据类型 数字 字符串 列表 元组 字 ...

  6. Python菜鸟之路:Python基础(二)

    一.温故而知新 1. 变量命名方式 旧的方式: username = 'xxxx' password = 'oooo' 新的方式: username, password = 'xxxx', 'oooo ...

  7. python基础二(list,tuple元祖、dic字典,字符串)

    一.列表list 1.list定义 列表即数组 ,list或array..列表中的每个元素都有自己的编号,从0开始,编号也可叫做下标,角标,索引.最后一个元素的下标也可用-1表示.: list定义时, ...

  8. Python基础二. 数据结构、控制流、运算符、真值测试

    一.概述 数据结构上广义上有两种,单一类型和集合类型 单一类型,表示一种对象 集合类型,表示包含多种对象 Python 中的内建的数据类型有str.list.tuple.dict.set.number ...

  9. 【笔记】Python基础二:数据类型之集合,字符串格式化,函数

    一,新类型:集合 集合出现之前 python_l = ['lcg','szw','zjw'] linux_l = ['lcg','szw','sb'] #循环方法求交集 python_and_linu ...

  10. Python之路-python基础二

    本章内容:      一.编码格式      二.常用数据类型      三.字符串常用方法      四.列表常用方法  五.数据运算      六.课后作业 编码格式:       ASCII A ...

随机推荐

  1. const修饰符总结

    1.什么是const? const就是constant的缩写,意思是"恒定不变的",它是定义只读变量的关键字,或者说const是定义常变量的关键字,常类型的变量或对象的值是不能被更 ...

  2. zookeeper_mac安装总结

    Zookeeper mac安装总结 1. 执行 brew install zookeeper 可能遇到报错 Error: The following directories are not writa ...

  3. spark 写入数据到Geomesa(Hbase)

    package com.grady.geomesa import org.apache.spark.sql.jts.PointUDT import org.apache.spark.sql.types ...

  4. 03 最小CMake项目

    03 最小CMake项目 所有CMake项目都从一个CMakeLists.txt文件开始,此文件应该放在源代码树的最顶层目录下.可以将CMakeLists.txt想象成CMake项目文件,定义了从源和 ...

  5. **手把手教你安装 Anaconda + Tensor flow+Pycharm**

    手把手教你安装 Anaconda + Tensor flow+Pycharm 这篇博文主要讲一下自己安装Anaconda + Tensor flow + Pycharm 的一个过程. 1. ANACO ...

  6. G&GH01 注册/安装/设置

    注意事项与声明 平台: Windows 10 作者: JamesNULLiu 邮箱: jamesnulliu@outlook.com 博客: https://www.cnblogs.com/james ...

  7. thinkphp5.1中适配百度富文本编辑器ueditor

    百度富文本编辑器ueditor虽然很老,但是功能齐全,我近期需要能批量粘贴图片的功能,但是找不到,很无奈.然后现在就分享一下如何把ueditor适配到thinkphp5.1,有知道如何批量上传图片的艾 ...

  8. ELK基于ElastAlert实现日志的微信报警

    文章转载自:https://mp.weixin.qq.com/s/W9b28CFBEmxBPz5bGd1-hw 教程pdf文件下载地址 https://files.cnblogs.com/files/ ...

  9. linux系统下查看某个进程内存使用量

  10. gitlab cicd流水线语法

    流水线语法有哪些? 流水线参数列表 Keyword Description script 运行的Shell命令或脚本. image 使用docker映像. services 使用docker服务映像. ...