集合:

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
def : 定义函数的内容
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基础语法三的更多相关文章

  1. Python 基础语法(三)

    Python 基础语法(三) --------------------------------------------接 Python 基础语法(二)------------------------- ...

  2. Python 基础语法(四)

    Python 基础语法(四) --------------------------------------------接 Python 基础语法(三)------------------------- ...

  3. Python 基础语法(二)

    Python 基础语法(二) --------------------------------------------接 Python 基础语法(一) ------------------------ ...

  4. python基础语法(四)

    --------------------------------------------接 Python 基础语法(三)---------------------------------------- ...

  5. Python基础语法(三)

    Python基础语法(三) 1. 数值型数据结构 1.1 要点 在之前的博客也有提到,数值型数据结构在这里就不过多介绍了.在这里提及一些需要知道的知识点. int.float.complex.bool ...

  6. python之最强王者(2)——python基础语法

    背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...

  7. Python 基础语法

    Python 基础语法 Python语言与Perl,C和Java等语言有许多相似之处.但是,也存在一些差异. 第一个Python程序 E:\Python>python Python 3.3.5 ...

  8. python学习第五讲,python基础语法之函数语法,与Import导入模块.

    目录 python学习第五讲,python基础语法之函数语法,与Import导入模块. 一丶函数简介 1.函数语法定义 2.函数的调用 3.函数的文档注释 4.函数的参数 5.函数的形参跟实参 6.函 ...

  9. python学习第四讲,python基础语法之判断语句,循环语句

    目录 python学习第四讲,python基础语法之判断语句,选择语句,循环语句 一丶判断语句 if 1.if 语法 2. if else 语法 3. if 进阶 if elif else 二丶运算符 ...

随机推荐

  1. Linux基础命令mkdir

    mkdir  /home/ceshi   home目录下创建测试目录 mkdir  -p  /home/ceshi1/ceshi home目录下递归创建 mkdir     /home/ceshi2  ...

  2. C#流程控制语句--跳转语句(break,continue,goto,return,)

    跳转语句:是程序运行到某一位置时,可以跳到程序中另一个代码的语句.循环控制语句. 跳转语句:break 1.用于退出包含在最内层的循环或者退出一个switch或loop语句,程序流将继续紧接着loop ...

  3. es6语法在ios低版本的支持性

    let.const.箭头函数在ios的某些版本不支持,会引起报错 参考:https://blog.csdn.net/cx091/article/details/79805369 https://can ...

  4. bootstrap-editable实现bootstrap-table行内编辑

    bootstrap-editable行内编辑效果如下: 需要引入插件 列初始化代码,为可编辑的列添加editable属性: columns = [ { title: '文件名', field: 'Na ...

  5. 2015-10-29 ado.net 1

                                                                   ADO.NET 一.什么是ado.net ADO.NET是一组允许.NET ...

  6. play framework 笔记

    @main("Hello")调用 main.scala.hmtl,页面名称 Hello conf/routes 文件定义了映射规则 参数的传递入口在 controller 的方法中 ...

  7. 乐观锁vs悲观锁, 集群vs分布式 , 微服务, 幂等性

    乐观锁: 总认为不会产生并发问题,因此不会上锁,更新时会判断其他线程在这之前有没有对数据进行修改,一般会使用版本号机制或CAS操作来实现 version: 数据上有数据版本号version字段,每次更 ...

  8. 多个yml文件的读取方式

    1配置pom.xml文件,以下配置将默认激活-dev.yml配置文件<profiles>        <profile>            <id>dev&l ...

  9. Java读取txt文件和写入txt文件

    package com.nickwong.code; import java.io.*; /** * Created by Nickwong on 31/07/2018. * 根据1-8楼的建议,优化 ...

  10. 微信小程序开发学习(一):开发前准备

    开发前准备 Step1:注册 微信小程序开放平台: https://mp.weixin.qq.com/cgi-bin/wx 开发者注册: https://mp.weixin.qq.com/wxopen ...