python基础语法三
集合:
1.不同元素组成
2.无序
3.集合中的元素必须是不可变类型
s = {1, 2, 3 }
#定义集合
s = set('hello')
print(s)
s.pop()
#指定删除
s.remove("")
s.remove("sss") #删除元素不存在会报错
s.discard('sbb') #删除元素不存在,,不会报错
print(s)
集合的运算关系:
python_1 = ['lcg', "szw", "zjw"]
linux_1 = ["lcg", "szw"]
#取公共部分
python_and_linux_1 = []
for p_name in python_1:
if p_name in linux_1:
python_and_linux_1.append(p_name) print(python_and_linux_1) p_s = set(python_1)
l_s = set(linux_1) #取交集的部分
print(p_s.intersection(l_s))
print(p_s&l_s) # 去并集的部分
print(p_s.union(l_s))
print(p_s|l_s) #差集
print(p_s-l_s)
print(p_s.difference(l_s)) #字符串格式化 msg = "i am hobby is alex", %"lhf"
msg = "i am hobby is %s ", %("lhf", "alex") \
函数:
python中函数的定义方法:
def test(x):
"The function definitiens"
x+=1
return x
test : 函数名
() : 内可定义形参
"":文档描述
x+=1: 泛指代码块或程序逻辑
return : 定义返回值
函数名()
#改成用函数写
def calc(x, y): # x, y, 形参
res = x**y
return res c = calc(a, b)# a, b 实参
print(c)
默认参数:
def handle(x, type = "mysql"):
print(x)
print(type)
handle('hello' , type='sqlite')
#参数组 : **字典 , *列表
def test(x, *args)
print(x)
print(args)
print(args[2])
test(1,2,3,4,5,6)
test(1, {"name":"alex}) def test(x, **kwargs):
print(x)
print(kwargs)
test(1, y=2, y=3) def test(x, *args, **kw args):
print(x)
print(args)
print(kwargs)
局部变量,和全局变量
name = lhf # 全局变量 def chang():
name = lhf #局部变量
print(name) def chang():
global name = lhf #全局变量
print(name) 函数就是变量!!!
函数递归:
def calc(n):
print(n)
calc(n) calc(10) #自己调用自己! def calc(n):
print(n)
if int(n/2)==0
return n
return calc(int(n/2)) calc(10) person_list = ['alex', 'wupeiqi', 'yuanhao', 'linhaifeng', 'zsc']
def ask_way(person_list):
if len(person_list) == 0:
return '根本没人知道'
person = person_list.pop(0)#取出一个值。
if person == 'linhaifeng':
return '%说: 我知道,老男孩就在沙河汇德商厦下地铁就是' %person
ask_way(person_list) ask_way(person_list)
递归特性:
1.必须有一个明确的结束条件
2.每次进入更深一层的递归时,问题规模相比上一次递归都应有减少
3.递归效率不高, 递归层次会导致栈溢出(在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入
一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧,由于栈的大小不是无限的,所以,递归调用次
数过多会导致栈溢出)
python基础语法三的更多相关文章
- Python 基础语法(三)
Python 基础语法(三) --------------------------------------------接 Python 基础语法(二)------------------------- ...
- Python 基础语法(四)
Python 基础语法(四) --------------------------------------------接 Python 基础语法(三)------------------------- ...
- Python 基础语法(二)
Python 基础语法(二) --------------------------------------------接 Python 基础语法(一) ------------------------ ...
- python基础语法(四)
--------------------------------------------接 Python 基础语法(三)---------------------------------------- ...
- Python基础语法(三)
Python基础语法(三) 1. 数值型数据结构 1.1 要点 在之前的博客也有提到,数值型数据结构在这里就不过多介绍了.在这里提及一些需要知道的知识点. int.float.complex.bool ...
- python之最强王者(2)——python基础语法
背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...
- Python 基础语法
Python 基础语法 Python语言与Perl,C和Java等语言有许多相似之处.但是,也存在一些差异. 第一个Python程序 E:\Python>python Python 3.3.5 ...
- python学习第五讲,python基础语法之函数语法,与Import导入模块.
目录 python学习第五讲,python基础语法之函数语法,与Import导入模块. 一丶函数简介 1.函数语法定义 2.函数的调用 3.函数的文档注释 4.函数的参数 5.函数的形参跟实参 6.函 ...
- python学习第四讲,python基础语法之判断语句,循环语句
目录 python学习第四讲,python基础语法之判断语句,选择语句,循环语句 一丶判断语句 if 1.if 语法 2. if else 语法 3. if 进阶 if elif else 二丶运算符 ...
随机推荐
- Table的两种处理方法记录
简单记录一下,方便以后参考:基于JQuery实现 一种是滚轮,一种是翻页 滚轮的代码实现: <div class="col-md-12" style="width: ...
- Python3+Flask安装使用教程
一.环境配置 当前我的开发环境是Miniconda3+PyCharm.开发环境其实无所谓,自己使用Python3+Nodepad都可以.安装Flask库: pip install Flask 二.第一 ...
- jsp页面怎么引入js
人老了,容易忘记事情,再此记录 这里需要注意的是js文件夹要直接放在WebRoot或者WebContent文件夹下面,不要放在WEB-INF下面.因为TomCat对WEB-INF这个文件夹下面的资源是 ...
- python day1 之三级菜单的正确姿势
看了几个同学有关三级菜单的实现,都是通过一级一级输出,是较为过程的实现.另外如果菜单(树形结构)更多级这样处理起来就比较麻烦了. 可以使用python强大的列表和字典,实现的更优美或简洁一些: 注:复 ...
- Arch Linux VMware虚拟机(新手)安装教程
准备工作: 下载好Arch Linux的镜像文件 百度打开Arch官网点击download(下载)转到下载界面,点击磁力下载或者种子下载(官网默认是英文,英文不好的童鞋可以安装浏览器翻译插件,本 ...
- Spring MVC学习step1——框架熟悉
b站视频链接,整理的一些笔记,图是网上找到的黑马教案,侵权删,在此记录学习笔记 SpringMVC框架 步骤: 第一步:发起请求到前端控制器(Dispatcherservlet) 第二步:前端控制器请 ...
- Python3的string库模板的应用
模板 字符串模板将作为内置的拼接语法的替代用法.使用Template拼接时,要在名字前加前缀$来标识变量(例如,$var).或者,如果有必要区分变量和周围的文本,可以用大括号包围变量(例如,${var ...
- vue组件的通信
组件的引入两种方式 动态组件 <p is="com-a"></p> 直接引入 <com-a></com-a> 插槽功能 父组件引入 ...
- Visual Assist X 中使用doxygen的模板注释
http://blog.csdn.net/dhifnoju/article/details/44947213 Doxygen是一种开源跨平台的,以类似JavaDoc风格描述的文档系统,完全支持C.C+ ...
- LeetCode 145 二叉树的后序遍历(非递归)
题目: 给定一个二叉树,返回它的 后序 遍历. 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [3,2,1] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 解题思路: 1 ...