1. 类中的方法定义前如果有 @staticmethod 则此方法通过类名调用,如:dict.fromkeys() ; 如果没有,则此方法通过对象调用

  2. 三元运算

    1. name=值1 if 条件 else 值2      如果条件成立,则name=值1  否则  name=值2

  3. str , 一次性创建,不能被修改,只要修改,就会在内存中再创建。 对

    1. 于 数字 和 字符串 而言,赋值、浅拷贝和深拷贝无意义,因为在Python中经优化后其永远指向同一个内存地址。

    2. 浅拷贝,对于有多层结构的对象,浅拷贝只拷贝第一层,然后拷贝的第一层的指向下级的地址是不变的

    3. 深拷贝,对于有多层结构的对象,深拷贝是把层级结构都拷贝了,只有最后一级的数字和文本不拷贝

    4. id(对象)方法,可以查看指定对象的内存地址

    5. 浅拷贝

import copy

n1 = {“k1”:”Li”,”k2”:123,”k3”:[“alex”,456]}

n3 = copy.copy(n1)
    1. 深拷贝

import copy

n1 = {“k1”:”Li”,”k2”:123,”k3”:[“alex”,456]}

n4 = deepcopy.copy(n1)
  1. 函数

    1. 定义:

def 函数名([参数]):

……

[return …]

    1. 如果函数中没有return,则函数会返回None

    2. 动态参数

      1. 参数名称以*为前缀,这个参数的类型会是一个元组,如: def fun1(*a)

      2. 参数名称以**为前缀,参数须是一个字典类型,如: fun1(k1=123, k2=345,k3=567)

      3. 参数中同时有*为前缀 和 **为前缀的参数时,必须以*为前缀在前,**为前缀的在后,如: def fun1(*args, **kwargs)  或  def fun2(a, *args, **kwargs)

      4. 当形参以*为前缀,实参为列表如:li = [11,22,33,44,55] 时,

        1. fun1(li)   函数接收到的参数值是:([11, 22, 33, 44, 55],)

        2. fun1(*li)  函数接收到的参数值是:(11, 22, 33, 44, 55)

      5. 当形参为**为前缀,实参为字典如:dic = {“k1”:123}

        1. fun1(dic)  这样调用时会报错,要求须是 k1=123格式的传参

        2. fun1(**dic)  这样就可以正常把字典中的key和value都作为参数传过去

  1. lambda 表达式

    1. 无参数

def fun1():
return 123 fun2 = lambda : 123 f1 = fun1()
f2 = fun2() print(f1)
print(f2)
    1. 有参数

def fun1(a1, a2):
return a1+a2 fun2 = lambda a1, a2 : a1+a2 f1 = fun1(8,9)
f2 = fun2(18,19) print(f1)
print(f2)
  1. Python 内置函数

    1. abs()函数,取绝对值

    2. all()函数,循环参数,如果每个元素都为真,那么all的返回值为真

    3. any()函数,只要有一个元素为真,则返回真

    4. bool()函数,把元素转换为布尔类型,0、None、空字符串、空列表、空元组、空字典 都会转为False,其他都会转为True

    5. ascii()函数,在对象的类中找 __repr__,获取其返回值

    6. bin()函数,二进制

    7. oct()函数,八进制

    8. int()函数,十进制,base参数是指把几进制转换为十进制

    9. hex()函数,十六进制

    10. bytes()函数,字节转字符串,如:bytes(“xxxxx”,encoding=”utf-8”)

    11. bytearray()函数,字节列表

    12. chr()函数,返回数字对应的ascii字符

    13. ord()函数,返回字符对应的ascii码数字

    14. callable()函数,判断函数是否可以调用,如果可以,返回true

    15. filter(函数,可迭代对象),函数参数可接收一个参数并返回true或false,filter返回经函数判断为true的迭代项

    16. map(函数,可迭代对象),对可迭代对象元素都调用给定函数并返回结果

    17. eval()函数,计算字符串中的运算

    18. exec()函数,执行字符串中的程序

    19. globals()函数,获取所有全局变量

    20. locals()函数,获取所有局部变量

    21. isinstance(变量,类型),判断某个对象是否是某个类创建的

    22. iter(可迭代对象),迭代器,可创建并返回一个迭代的对象,对返回的这个对象执行next(迭代器),可获取它的下一个元素

    23. max(列表)函数,获取列表的最大值

    24. min(列表)函数,获取列表的最小值

    25. sum(列表)函数,获取列表的所有元素的和

    26. pow()函数,求幂的,如:pow(2,10)

    27. reversed(可迭代对象),对列表或字典进行反转

    28. round()函数,四舍五入

    29. zip()函数,可接收多个可迭代对象,按元素顺序合并成

  2. 文件操作

    1. open(文件名,模式,编码)

    2. 文件打开的模式有:

      1. r,只读模式【默认】

      2. w,只写模式【不可读,不存在则创建,存在测清空内容】

      3. x,只写模式【不可读,不存在则创建,存在则报错】

      4. a,追加模式【不可读,不存在则创建,存在则追加内容】

    3. “+”表示同时读写某个文件

      1. r+,读写

        1. 指针为0,起始位置;w,末尾追加,指针移动到最后

      2. w+,写读

        1. 先清空所有内容,从开始向后读,之后写的才能读,写,指针到最后

      3. x+,写读

      4. a+,写读

        1. 打开的同时,指针已经到最后

    4. “b”表示以字节的方式操作

      1. rb 或 r+b

      2. wb 或 w+b

      3. xb 或 x+b

      4. ab 或 a+b

f = open("ha.log")
data = f.read()
f.close()
print(data) f = open("ha.log","r", encoding="utf-8")
data = f.read()
f.close()
print(data)
    1. 常用方法

      1. close(),关闭文件

      2. fileno(),文件描述符

      3. flush(),刷新文件内容到缓存区

      4. next(),获取下一行数据,不存在,则报错

      5. read(),读取指定字节数据

      6. readline(),仅读取一行数据

      7. readlines(),读取所有数据,并根据换行保存值列表

      8. seek(),指定文件中指针位置

      9. tell(),获取当前指针位置

      10. truncate(),截取数据,仅保留指针之前数据

      11. write(),写内容

f = open("ha.log",'r',encoding="utf-8")
for line in f:
print(line)
f.close()
      1. for line in f  可以逐行读取文件所有内容

      2. 关闭文件

with open("ha.log","r",encoding="utf-8") as f:
data = f.read()
print(data)
      1. 同时打开两个文件,可用于文件复制等

with open("ha.log","r",encoding="utf-8") as f1, open("ha2.log",'w',encoding="utf-8") as f2:
for line in f1:
f2.write(line)
  1. 装饰器

    1. 根据 开放封闭原则 ,对类或函数体内的程序不要做改动,如果要做改动,尽量中类或函数体的外部,以免多次修改破坏原来的结构

def outer(func):   ---装饰器
def inner():
print("Hello")
print("Hello")
print("Hello")
r = func() ---执行原函数
print("End")
print("End")
print("End")
return r ---return原函数的执行结果
return inner @outer ---给其下的方法调用自定义的装饰器;执行outer函数,并且将其下面的函数名作为参数;将outer的返回值重新赋值给fun1=outer的返回值;新fun1函数=inner
def fun1():
print("F1") def fun2():
print("F2") def fun100():
print("F100") fun1() -------装饰前输出结果------- F1 -------装饰后输出结果------- Hello Hello Hello F1 End End End

    Python基础语法(二)的更多相关文章

    1. Python 基础语法(二)

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

    2. python基础语法(二)

      本文主要包括以下内容 函数 切片 迭代 列表生成式 生成器 迭代器 函数 定义函数 定义函数 在Python中,定义一个函数要使用def语句,依次写出函数名.括号.括号中的参数和冒号:,然后,在缩进块 ...

    3. 【阿K学Python系列】一Python基础语法(二)

      前言 通过上一章的学习[阿k学Python]一Python入门(一),我们已经初步了解到Python是一种解释型.面向对象.动态数据类型的高级程序设计语言,当然也是一门脚本语言,像前端需要学习的Jav ...

    4. python基础语法二

      迭代 test = "妹子有种冲我来" #可迭代对象 == 被for进行循环获取 for item in test: print(item) break #练习题: test = ...

    5. Python 基础语法(三)

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

    6. python基础语法(一)

      Python的特点 1. 简单 Python是一种代表简单思想的语言. 2. 易学 Python有极其简单的语法. 3. 免费.开源 Python是FLOSS(自由/开放源码软件)之一. 4. 高层语 ...

    7. Python基础语法(转)

      作者:Peter 出处:http://www.cnblogs.com/Peter-Zhang/   Python 基础语法(一) Python的特点 1. 简单 Python是一种代表简单思想的语言. ...

    8. web前端学习python之第一章_基础语法(二)

      web前端学习python之第一章_基础语法(二) 前言:最近新做了一个管理系统,前端已经基本完成, 但是后端人手不足没人给我写接口,自力更生丰衣足食, 所以决定自学python自己给自己写接口哈哈哈 ...

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

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

    10. Python 基础语法(四)

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

    随机推荐

    1. Android DownloadProvider学习 (二)

      DownloadManager.Request用来请求一个下载,DownloadManager.Query用来查询下载信息,这两个类的具体功能会在后面穿插介绍.DownloadManager的源码可见 ...

    2. akka优势

      1.提供可扩展的实时事务处理. 2.为以下目标设计: 垂直扩展(并发) 水平扩展(远程调用) 高容错 3.Akka的核心,Akka-actor非常小的,可以非常方便地放进你的应用中,提供你需要的异步无 ...

    3. 浏览器 HTTP 协议缓存机制详解

      最近在准备优化日志请求时遇到了一些令人疑惑的问题,比如为什么响应头里出现了两个 cache control.为什么明明设置了 no cache 却还是发请求,为什么多次访问时有时请求里带了 etag, ...

    4. Android studio 菜单介绍 3.1.文件(File)

      文件(File) 3.1.1.New 1. Android Studio中的Project相当于Eclipse中的Workspace 3.1.5.Close Prject 关闭当前项目打开的窗口 2. ...

    5. android 编译

      编译 Android完全编译,耗时 1 小时 25 分$ make编译当前目录下的模块,耗时 1 小时 31 分mm编译指定目录下的模块mmm 模块的根目录清除上次编译输出make clean单独编译 ...

    6. Interpolation in MATLAB

      Mathematics     One-Dimensional Interpolation There are two kinds of one-dimensional interpolation i ...

    7. relative

      进行relative定位后的元素,不会影响原本的文本流. 下图左列的第二张图是进行了margin-top取负值,右列第二张图进行了relative定位     

    8. Android EidtText 光标的使用和设置

      使光标移动到制定的位置: editText.setSelection(editText.length()); 输入的参数是个整数   在请求出现光标是,也就是在获取焦点时: editText.requ ...

    9. 关于位图读取函数int Load_Bitmap_File的lseek问题。

      事情是这样的,本人在编译3D游戏编程大师技巧中的程序是遇到了一个关于位图读取函数int Load_Bitmap_File的lseek问题. 我使用以下位图读取函数读取位图事报错如下: int Load ...

    10. 从0和1到Python

      什么是编程语言? 举一个例子: 如果我们不会英语,和一个不会中文的老外交流,怎么办?找个翻译. 电脑只懂0和1组成的机器语言. 用0和1告诉计算机做事很累:人类语言易了解,学习快,效率高. 如果定义一 ...