Python基础语法(二)
类中的方法定义前如果有 @staticmethod 则此方法通过类名调用,如:dict.fromkeys() ; 如果没有,则此方法通过对象调用
三元运算
name=值1 if 条件 else 值2 如果条件成立,则name=值1 否则 name=值2
str , 一次性创建,不能被修改,只要修改,就会在内存中再创建。 对
于 数字 和 字符串 而言,赋值、浅拷贝和深拷贝无意义,因为在Python中经优化后其永远指向同一个内存地址。
浅拷贝,对于有多层结构的对象,浅拷贝只拷贝第一层,然后拷贝的第一层的指向下级的地址是不变的
深拷贝,对于有多层结构的对象,深拷贝是把层级结构都拷贝了,只有最后一级的数字和文本不拷贝
id(对象)方法,可以查看指定对象的内存地址
浅拷贝
import copy
n1 = {“k1”:”Li”,”k2”:123,”k3”:[“alex”,456]}
n3 = copy.copy(n1)
|
深拷贝
import copy
n1 = {“k1”:”Li”,”k2”:123,”k3”:[“alex”,456]}
n4 = deepcopy.copy(n1)
|
函数
定义:
|
def 函数名([参数]): …… [return …] |
如果函数中没有return,则函数会返回None
动态参数
参数名称以*为前缀,这个参数的类型会是一个元组,如: def fun1(*a)
参数名称以**为前缀,参数须是一个字典类型,如: fun1(k1=123, k2=345,k3=567)
参数中同时有*为前缀 和 **为前缀的参数时,必须以*为前缀在前,**为前缀的在后,如: def fun1(*args, **kwargs) 或 def fun2(a, *args, **kwargs)
当形参以*为前缀,实参为列表如:li = [11,22,33,44,55] 时,
fun1(li) 函数接收到的参数值是:([11, 22, 33, 44, 55],)
fun1(*li) 函数接收到的参数值是:(11, 22, 33, 44, 55)
当形参为**为前缀,实参为字典如:dic = {“k1”:123}
fun1(dic) 这样调用时会报错,要求须是 k1=123格式的传参
fun1(**dic) 这样就可以正常把字典中的key和value都作为参数传过去
lambda 表达式
无参数
def fun1(): |
有参数
def fun1(a1, a2): |
Python 内置函数
abs()函数,取绝对值
all()函数,循环参数,如果每个元素都为真,那么all的返回值为真
any()函数,只要有一个元素为真,则返回真
bool()函数,把元素转换为布尔类型,0、None、空字符串、空列表、空元组、空字典 都会转为False,其他都会转为True
ascii()函数,在对象的类中找 __repr__,获取其返回值
bin()函数,二进制
oct()函数,八进制
int()函数,十进制,base参数是指把几进制转换为十进制
hex()函数,十六进制
bytes()函数,字节转字符串,如:bytes(“xxxxx”,encoding=”utf-8”)
bytearray()函数,字节列表
chr()函数,返回数字对应的ascii字符
ord()函数,返回字符对应的ascii码数字
callable()函数,判断函数是否可以调用,如果可以,返回true
filter(函数,可迭代对象),函数参数可接收一个参数并返回true或false,filter返回经函数判断为true的迭代项
map(函数,可迭代对象),对可迭代对象元素都调用给定函数并返回结果
eval()函数,计算字符串中的运算
exec()函数,执行字符串中的程序
globals()函数,获取所有全局变量
locals()函数,获取所有局部变量
isinstance(变量,类型),判断某个对象是否是某个类创建的
iter(可迭代对象),迭代器,可创建并返回一个迭代的对象,对返回的这个对象执行next(迭代器),可获取它的下一个元素
max(列表)函数,获取列表的最大值
min(列表)函数,获取列表的最小值
sum(列表)函数,获取列表的所有元素的和
pow()函数,求幂的,如:pow(2,10)
reversed(可迭代对象),对列表或字典进行反转
round()函数,四舍五入
zip()函数,可接收多个可迭代对象,按元素顺序合并成
文件操作
open(文件名,模式,编码)
文件打开的模式有:
r,只读模式【默认】
w,只写模式【不可读,不存在则创建,存在测清空内容】
x,只写模式【不可读,不存在则创建,存在则报错】
a,追加模式【不可读,不存在则创建,存在则追加内容】
“+”表示同时读写某个文件
r+,读写
指针为0,起始位置;w,末尾追加,指针移动到最后
w+,写读
先清空所有内容,从开始向后读,之后写的才能读,写,指针到最后
x+,写读
a+,写读
打开的同时,指针已经到最后
“b”表示以字节的方式操作
rb 或 r+b
wb 或 w+b
xb 或 x+b
ab 或 a+b
读
f = open("ha.log")
|
常用方法
close(),关闭文件
fileno(),文件描述符
flush(),刷新文件内容到缓存区
next(),获取下一行数据,不存在,则报错
read(),读取指定字节数据
readline(),仅读取一行数据
readlines(),读取所有数据,并根据换行保存值列表
seek(),指定文件中指针位置
tell(),获取当前指针位置
truncate(),截取数据,仅保留指针之前数据
write(),写内容
f = open("ha.log",'r',encoding="utf-8")
|
for line in f 可以逐行读取文件所有内容
关闭文件
with open("ha.log","r",encoding="utf-8") as f:
|
同时打开两个文件,可用于文件复制等
with open("ha.log","r",encoding="utf-8") as f1, open("ha2.log",'w',encoding="utf-8") as f2:
|
装饰器
根据 开放封闭原则 ,对类或函数体内的程序不要做改动,如果要做改动,尽量中类或函数体的外部,以免多次修改破坏原来的结构
def outer(func): ---装饰器 |
Python基础语法(二)的更多相关文章
- Python 基础语法(二)
Python 基础语法(二) --------------------------------------------接 Python 基础语法(一) ------------------------ ...
- python基础语法(二)
本文主要包括以下内容 函数 切片 迭代 列表生成式 生成器 迭代器 函数 定义函数 定义函数 在Python中,定义一个函数要使用def语句,依次写出函数名.括号.括号中的参数和冒号:,然后,在缩进块 ...
- 【阿K学Python系列】一Python基础语法(二)
前言 通过上一章的学习[阿k学Python]一Python入门(一),我们已经初步了解到Python是一种解释型.面向对象.动态数据类型的高级程序设计语言,当然也是一门脚本语言,像前端需要学习的Jav ...
- python基础语法二
迭代 test = "妹子有种冲我来" #可迭代对象 == 被for进行循环获取 for item in test: print(item) break #练习题: test = ...
- Python 基础语法(三)
Python 基础语法(三) --------------------------------------------接 Python 基础语法(二)------------------------- ...
- python基础语法(一)
Python的特点 1. 简单 Python是一种代表简单思想的语言. 2. 易学 Python有极其简单的语法. 3. 免费.开源 Python是FLOSS(自由/开放源码软件)之一. 4. 高层语 ...
- Python基础语法(转)
作者:Peter 出处:http://www.cnblogs.com/Peter-Zhang/ Python 基础语法(一) Python的特点 1. 简单 Python是一种代表简单思想的语言. ...
- web前端学习python之第一章_基础语法(二)
web前端学习python之第一章_基础语法(二) 前言:最近新做了一个管理系统,前端已经基本完成, 但是后端人手不足没人给我写接口,自力更生丰衣足食, 所以决定自学python自己给自己写接口哈哈哈 ...
- python之最强王者(2)——python基础语法
背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...
- Python 基础语法(四)
Python 基础语法(四) --------------------------------------------接 Python 基础语法(三)------------------------- ...
随机推荐
- Sunny-Code Beta版总结会议
时间:2015-6-12 地点:基教601 参会人员:Sunny-Code全体成员 设想和目标 我们的软件要解决什么问题?是否定义得很清楚? 我们打算做一款集成小蝴蝶功能.Ip快速修改功能.WiFi共 ...
- Unity3D–RectTransfrom 记录笔记
一.基本要点 部分来源:http://www.2fz1.com/post/unity-ugui-recttransform/ RectTransform继承于Trasnfrom , 在Trasnfor ...
- 【转】 TechED2010与我(三) —— 初识云计算
作者用到的比喻很好. 网址:TechED2010与我(三) -- 初识云计算 初识云计算最近"云计算"被炒的很热,但是由于工作重点主要是做WinForm的控件开发,对云计算的接触比 ...
- Bullet的学习资源(用Doxygen生成API文档)
Bullet 全称 Bullet Physics Library,是著名的开源物理引擎(可用于碰撞检测.刚体模拟.可变形体模拟),这里将bullet的学习资源整理一下,希望能帮助入门者少走弯路. 看下 ...
- github最简单的操作方法
其实,说实话,到目前为止,我还没有研究透那些gitbush上面的命令,所以,往github上面上传自己的文件,我采用最简单的操作方式.嘻嘻.下面,将为大家讲述一下. 首先,要在github上面注册新用 ...
- 自适应布局,响应式布局以及rem,em区别
一.自适应和响应式 先说共同点: 两者都是因为越来越多的 移动设备( mobile, tablet device )加入到互联网中来而出现的为移动设备提供更好的体验的技术.用技术来使网页适应从小到大( ...
- 使用jquery、ajax不刷新页面打印表格(返回数据类型text、json);
效果图: 一:返回数据是text时 1.表单代码: <body> <form action="#" method="post"> 姓名: ...
- RY哥查字典
时间限制: 1 s 空间限制: 16000 KB 题目等级 : 钻石 Diamond 题目描述 Description RY哥最近新买了一本字典,他十分高兴,因为这上面的单词都十分的和谐,他天天查字典 ...
- spring访问静态资源出错,No mapping found for HTTP request with URI xxx/resources/js/jquery.min.js...
问题:spring访问静态资源出错,No mapping found for HTTP request with URI xxx/resources/js/jquery.min.js... web.x ...
- SQL-server的事务,视图和索引
(1): A: B: C: D: 选错误A,D 因为bc不对所以选AD,A:关系数据库中,数据是保存在数据页中的,而索引则是存储在索引页中.因此,数据表中的索引并非越多越好,一个表中如果有大量的索引 ...