list循环删除下标会出错
L = [1,1,1,2,3,4,5]#list是根据下标来取值
#下标0,1,2,3,4,5,6 循环后下标错位 输出的结果是【1,2,4】,把1也取到了
#l2 = [1,1,1,2,3,4,5]
l2 = l
for i in l2:#如果L循环的时候回导致下标错位输出结果错误
if i%2!=0:
l.remove(i)#删除列表中的元素
print(l)

浅拷贝与深拷贝

import copy
L =[1,2,3,4,5,6]
L2=L #浅拷贝,就是直接赋值,内存地址不变
L2 = copy.deepcopy(L)#深拷贝,重新赋予新的内存地址
L2 = L.copy()#浅拷贝
print(id(L))
print(id(L2))

非空即真

name = input('请输入名称:').strip()#strip()去空格
#name='abc'
#a=''
#l=[]
#d={}
#t=()
#b=None 什么都没有也是为空
name = int(name)
if name:
print('输入正确')
else:
print('name不能为空')

什么是函数:函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。

def functionname( parameters ):  #函数代码块以def关键词开头,后接函数标识符名称和圆括号()。任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
"函数_文档字符串"#数的第一行语句可以选择性地使用文档字符串—用于存放函数说明函。
function_suite
return [expression] #选择性地返回一个值给调用方。不带表达式的return相当于返回 None。

默认值函数

def my():
pass #什么也不干先占位,如果不写就会报错
def my(a,b): #位置参数,调用时必须填写两个参数
return a def my(name,sex):
#位置参数,必填
#函数体
return name def db_connect(ip,port=3306): #默认值参数
print(ip,port)
db_connect('118.24.3.40',3307)
db_connect('118.24.3.40')

参数

def send_sms(*args): #可变参数
for p in args:
print(p)
send_sms()#不是必传的
send_sms(1213,121,3123) #不限制传的个数,都存在元祖

递归

就是自己调用自己
def test1():
num = int(input('please enter a number:'))
if num%2==0:#判断输入的数字是不是偶数
return True #如果是偶数的话,程序就退出了,返回true
print('不是偶数请重新输入!')
return test1()#如果不是偶数的话继续调用自己,输入值
print(test1())#调用test 最多调用999次
count = 0
def say():
global count
count+=1
print('say')
print(count)
say()
say()

return的作用

def my2():
for i in range(50):
return i
#return 有2个作用
#1、结束函数,只要函数里面遇到return,函数立即结束运行
#2、返回函数处理的结果

小数的类型

判断小数的函数用法
s为字符串
s.isalnum() 所有字符都是数字或者字母
s.isalpha() 所有字符都是字母
s.isdigit() 所有字符都是数字
s.islower() 所有字符都是小写
s.isupper() 所有字符都是大写
s.istitle() 所有单词都是首字母大写,像标题
s.isspace() 所有字符都是空白字符、\t、\n、\r
def check_float(s):
'''
这个函数的作用就是判断传入的字符串是否是合法的小数
:param s: 传入一个字符串
:return: True/false
'''
s = str(s)
if s.count('.')==1:
s_split = s.split('.')
left,right = s_split
if left.isdigit() and right.isdigit():
return True
elif left.startswith('-') and left[1:].isdigit() \
and right.isdigit():
return True
return False
print(check_float(1.3))
print(check_float(-1.3))
print(check_float('01.3'))
print(check_float('-1.3'))
print(check_float('-a.3'))
print(check_float('a.3'))
print(check_float('1.3a3'))
print(check_float('---.3a3'))

全局变量

name = 'aaaa'#全局变量,在什么函数都可以使用
names = []
def get_name():
names.append('hahaha')
name = 'bbbbb' #局部变量,只能在函数内使用
print('1、函数里面的name:',name)
def get_name2():
global name #要修改全局变量就要先申明
print('2、get_name2:',name)
get_name2()
get_name()
print(names)
print('3、函数外面的name:',name)

集合

   # 1、天生可以去重
# 2、集合是无序
l=[1,1,2,2,3,3]
res = set(l)#去重
l = list(res)
print(res)
#{1, 2, 3}
jihe = set() #定义一个空的集合 xingneng =['bb','aa','ccc','oooo']
zdh = ['bb','aa','opq','cc','sds']
xingneng = set(xingneng)
zdh = set(zdh)
res1 = xingneng.intersection(zdh)#取交集
res2 = xingneng & zdh #取交集
res3 = xingneng.union(zdh) #取并集,把2个集合合并到一起,然后去重
res4 = xingneng | zdh #取并集
res5 = xingneng.difference(zdh) #取差集,在a里面有,在b里面没有的
res6 = xingneng - zdh #取差集
res7 = xingneng.symmetric_difference(zdh)#对称差集,两个里不重复的值
res8 = xingneng ^ zdh #对称差集

random模块

import random
print(random.randint(100000,999999)) #随机取一个整数
print(random.uniform(1,900))#取一个小数
stus = ['xiaojun','hailong','yangfan','tanailing','yangyue','cc']
print(random.choice('abcdefg'))#随机取一个元素
print(random.sample(stus,2)) #随机取N个元素
pw = ''.join(random.sample("VWXYZ_.123456780!@()+=-><:",random.randint(2, 5)))#随机生成8到16位的字符

  

python 学习三的更多相关文章

  1. Python学习三---序列、列表、元组

    一.序列 1.1.序列概念 pythn中最基本的数据结构是序列(sequence). 序列中每个元素被分配一个序号-元素索引,第一个索引是0,第二个是1,以此类推.类似JAVA中数组和集合中的下标. ...

  2. python学习 (三十三) Modules

    1: 方法一: 导入整个模块 import math class ModulesDemo(): def builtin_modules(self): print(math.sqrt()) m = Mo ...

  3. Python学习三天计划-1

    一.第一个Python程序 配置好环境变量后 打开CMD(命令提示符)程序,输入Python并回车 然后,在里面输入代码回车即可立即执行 Python解释器的作用是 将Python代码翻译成计算机认识 ...

  4. Python学习三天计划-3

    面向对象 一.类的定义 1.类定义 class是关键字,表示要定义类了 类的属性,即定义在类中的变量(成员变量) 类的行为,即定义在类中的函数(成员方法) 2.对象 创建类对象的语法: class S ...

  5. Python学习(三) 输出任意格式的字符串以及字符串的切片

    在Python中想要输出一句话,如下 a='hello world' print a //打印出的是hello world print 'hello \n world' //打印出的是 //hello ...

  6. Python学习(三):迭代器、生成器、装饰器、递归、算法、正则

    1.迭代器 迭代器是访问集合的一种方式,迭代对象从集合的第一个元素开始访问,直到元素被访问结束,迭代器只能往前不能后退,最大的优点是不要求事先准备好整个迭代过程中的元素,这个特点使得它特别适合用于遍历 ...

  7. Python学习三|列表、字典、元组、集合的特点以及类的一些定义

    此表借鉴于他人 定义 使用方法 列表 可以包含不同类型的对象,可以增减元素,可以跟其他的列表结合或者把一个列表拆分,用[]来定义的 eg:aList=[123,'abc',4.56,['inner', ...

  8. python学习 (三十一) python中的class

    1 python的类:   Python类都继承自object. __init__: 构造函数,如果不写,有一个默认的. __init__: 这个构造函数只能有一个,Python中不能有多个构造函数. ...

  9. python学习三(数据保存到文件)

    以写模式打开文件:需要指定写模式,如下所示 data = open('data.out','w') 如果文件已经存在,则会清空它现有的所有内容.要追加一个文件,需要使用访问模式a,会追加到下一行. 例 ...

随机推荐

  1. 盘点 Python 中的那些冷知识(二)

    上一篇文章分享了 Python中的那些冷知识,地址在这里 盘点 Python 中的那些冷知识(一) 今天将接着分享!! 06. 默认参数最好不为可变对象 函数的参数分三种 可变参数 默认参数 关键字参 ...

  2. 【带着canvas去流浪(4)】绘制散点图

    目录 一. 任务说明 二. 重点提示 三. 示例代码 四.散点hover交互效果的实现 4.1 基本算法 4.2 参考代码 4.3 Demo中的小问题 示例代码托管在:http://www.githu ...

  3. Flutter 即学即用系列博客——09 EventChannel 实现原生与 Flutter 通信(一)

    前言 紧接着上一篇,这一篇我们讲一下原生怎么给 Flutter 发信号,即原生-> Flutter 还是通过 Flutter 官网的 Example 来讲解. 案例 接着上一次,这一次我们让原生 ...

  4. 数据库艰难求生之路(基础:创建数据库表格)part1

     创建表格 1.创建表格之identity create table TableName( id ,), col_1 ), col_2 ) ) 这是一个简单的表格创建,identity这个是指在创建表 ...

  5. Javascript中双等号(==)隐性转换机制

    在Javascript中判断相等关系有双等号(==)和三等号(===)两种.其中双等号(==)是值相等,而三等号(===)是严格相等(值及类型是否完全相等). 因此有几个常识知识: 1.对于strin ...

  6. Docker+SpringBoot远程发布

    Docker+SpringBoot远程发布 发布成功后启动: docker run -di --name demo1.1 -p 8080:8085 demo:1.0 docker run 命令大全:h ...

  7. PHP遍历文件夹下所有文件

    不论是面试还是正常工作需要都会用到遍历文件夹下的所有文件,今天就记录一下笔记.废话不多说直接上代码: <?php /** * 遍历当前文件夹展示所有的文件和目录 */ function dirL ...

  8. Java 适配器(Adapter)模式

    一.什么是适配器模式: 把一个接口变成另外一个接口,使得原本因接口不匹配无法一起工作的两个类一起工作. 二.适配器模式的分类和结构: 适配器模式有类的适配器模式和对象的适配器模式两种. 1.类的适配器 ...

  9. 【设计模式】原型模式 Pototype Pattern

    前面讲了创建一个对象实例的方法单例模式Singleton Pattern, 创造多个产品的工厂模式(简单工厂模式 Simple Factory Pattern, 工厂方法模式 FactoryMothe ...

  10. Oracle 常用Sql 语句

    Oracle数据库常常被用作项目开发的数据库之一:有时隔段时间没使用就会忘记一些常用的sql语法,所以我们有必要记录下常用的sql 语句,当我们需要时可以快速找到并运用. 1 创建表空间.创建用户及授 ...