ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python学习

2019-03-10 10:44:36  阅读:317  来源: 互联网

标签:运算符 函数 python 列表 学习 参数 字符串 字典


python3简明教程学习

实验1 开启python之旅

  • 1.使用交互模式的Python3解释器
  • 2.简单使用vim编写Python3脚本
  • 3.执行Python3脚本
  • 4.Python3代码风格建议
  • 5.Python3中使用注释
  • 6.认识Python3模块

Python 使用缩进来定义语句块,缩进是 Python 语法的一部分,这与其它大多数语言不同。所以如果是用空格,就一直用空格缩进,不要使用制表符。
导入math模块:import math

代码风格设定::

  • 使用 4 个空格来缩进
  • 永远不要混用空格和制表符
  • 在函数之间空一行
  • 在类之间空两行
  • 字典,列表,元组以及参数列表中,在 , 后添加一个空格。对于字典,: 后面也添加一个空格
  • 在赋值运算符和比较运算符周围要有空格(参数列表中除外),但是括号里则不加空格:a = f(1, 2) + g(3, 4)
    写足够的注释:在 # 后跟一个空格,然后再写注释。
    一些标准的注释:
# FIXME -- fix these code later
# TODO -- in future you have to do this

hello world:

helloworld.py:

实验2 变量和数据类型

  • 1.python关键字
  • 2.变量的定义与赋值
  • 3.input()函数
  • 4.字符串的格式化
    在 Python 中 我们不需要为变量指定数据类型。所以你可以直接写出 abc = 1 ,这样变量 abc 就是整数类型。如果你写出 abc = 1.0 ,那么变量 abc 就是浮点类型。是只需要输入变量名和值就行了。

python关键字:

数值比较:

testhunderd.py

investmen.py

实验3 运算符和表达式

  • 1.关系/逻辑运算
  • 2.表达式
  • 3.类型转换

对于逻辑 与,或,非,我们使用 and,or,not 这几个关键字。
逻辑运算符 and 和 or 也称作短路运算符:它们的参数从左向右解析,一旦结果可以确定就停止。例如,如果 A 和 C 为真而 B 为假,A and B and C 不会解析 C 。作用于一个普通的非逻辑值时,短路运算符的返回值通常是能够最先确定结果的那个操作数。

关系运算可以通过逻辑运算符 and 和 or 组合,比较的结果可以用 not 来取反意。逻辑运算符的优先级又低于关系运算符,在它们之中,not 具有最高的优先级,or 优先级最低,所以 A and not B or C 等于 (A and (notB)) or C。当然,括号也可以用于比较表达式。

使用 format 可以控制输出的小数位数,可以使用 '{:.10f}'.format() 来进行格式化输出保留 10 位小数

运算符:

关系运算符:

类型转换函数:

实验4 控制流If-else

  • 1.if语句
  • 2.else语句
  • 3.真值检测

Python 中的很多值是具有布尔意义的

number.py:

实验5 循环

  • 1.while循环
  • 2.print()函数的end参数
  • 3.列表
  • 4.索引
  • 5.切片
  • 6.for循环
  • 7.range()函数
  • 8.continue关键字
  • 9.for循环中的else关键字

默认情况下,print() 除了打印你提供的字符串之外,还会打印一个换行符,所以每调用一次 print() 就会换一次行。你可以通过 print() 的另一个参数 end 来替换这个换行符。

列表的数据结构。它可以写作中括号之间的一列逗号分隔的值。列表的元素不必是同一类型。如果我们使用负数的索引,那将会从列表的末尾开始计数。

切成不同的部分,这个操作称为切片。
切片并不会改变正在操作的列表,切片操作返回其子列表,
对于非负索引,如果上下都在边界内,切片长度就是两个索引之差。例如 a[2:4] 是 2。

Python 中有关下标的集合都满足左闭右开原则,切片中也是如此,也就是说集合左边界值能取到,右边界值不能取到。
一个过大的索引值(即大于列表实际长度)将被列表实际长度所代替,当上边界比下边界大时(即切片左值大于右值)就返回空列表:
切片操作还可以设置步长

如同 break ,我们可以在循环中使用另一个语句 continue。它会跳过其后的代码回到循环开始处执行。
我们可以在循环后面使用可选的 else 语句。它将会在循环完毕后执行,除非有 break 语句终止了循环。

while循环:

斐波那契(Fibonacci)数列:

列表切片:

range():

for循环:

实验6 数据结构

  • 1.列表的方法与列表元素的删除
  • 2.将列表用作栈和队列
  • 3.列表推导式
  • 4.元组、集合、字典的创建与操作
  • 5.enumerate()zip()函数

常用函数:

  • 调用列表:a.append()
  • 在列表索引位置添加相应元素:a.insert()
  • 列表方法返回也列表元素数量:a.count()
  • 移除任意指定值:remove()
  • 反转列表:reverse()
  • 将列表b中所有元素加入列表a:a.extend(b)
  • 列表元素可比较,排序:sort
  • 删除指定位置的列表元素:del
  • 传入一个参数 i 即 pop(i) 会将第 i 个元素弹出: pop()

任何一个元组执行拆封操作并赋值给多个变量。元组是不可变类型,这意味着你不能在元组内删除或添加或编辑任何值。

集合是一个无序不重复元素的集。基本功能包括关系测试和消除重复元素。集合对象还支持 union(联合),intersection(交),difference(差)和 symmetric difference(对称差集)等数学运算。

大括号或 set() 函数可以用来创建集合。注意:想要创建空集合,你必须使用 set() 而不是 {}。后者用于创建空字典。

字典是是无序的键值对(key:value)集合,同一个字典内的键必须是互不相同的。一对大括号 {} 创建一个空字典。初始化字典时,在大括号内放置一组逗号分隔的键:值对,这也是字典输出的方式。我们使用键来检索存储在字典中的数据。

因实验楼卡顿,我在自己电脑上进行了实验6.

常用函数:


列表推导式:

元组:

type():

set()的一些尝试:

students.py

路径错误:

查看python安装路径:

实验7 字符串

  • 1.字符串的3种表示
  • 2.字符串的分割、连接、大小写转换、搜索等常用操作

常用字符串:

  • %s 字符串(用 str() 函数进行字符串转换)
  • %r 字符串(用 repr() 函数进行字符串转换)
  • %d 十进制整数
  • %f 浮点数
  • %% 字符“%”

    字符串的表示:

    字符串的方法

回文检查:

单词计数:

实验8 函数

  • 1.函数的定义
  • 2.局部/全局变量的概念
  • 3.默认参数,关键字参数及强制关键字参数
  • 4.文档字符串的使用
  • 5.高阶函数,map()函数

我们使用关键字 def 来定义一个函数,语法描述如下所示:

def 函数名(参数):
    语句1
    语句2

默认参数值:

  • 具有默认值的参数后面不能再有普通参数,比如 f(a,b=90,c) 就是错误的。
  • 默认值只被赋值一次,如果默认值是任何可变对象时会有所不同,比如列表、字典或大多数类的实例。例如,下面的函数在后续调用过程中会累积(前面)传给它的参数:

其它高级语言常见的函数重载,Python 是没有的,这是因为 Python 有默认参数这个功能,函数重载 的功能大都可以使用默认参数达到。

实验9 文件处理

  • 1.文件打开模式
  • 2.文件读取与写入
  • 3.with语句

open() 函数打开文件需要两个参数:

  • 第一个参数是文件路径或文件名
  • 第二个是文件的打开模式。

打开模式:

  • "r",以只读模式打开,你只能读取文件但不能编辑/删除文件的任何内容
  • "w",以写入模式打开,如果文件存在将会删除里面的所有内容,然后打开这个文件进行写入
  • "a",以追加模式打开,写入到文件中的任何数据将自动添加到末尾

open() 函数的默认的模式为只读模式

拷贝文件:

#!/usr/bin/env python3
import sys
if len(sys.argv) < 3:
    print("Wrong parameter")
    print("./copyfile.py file1 file2")
    sys.exit(1)
f1 = open(sys.argv[1])
s = f1.read()
f1.close()
f2 = open(sys.argv[2], 'w')
f2.write(s)
f2.close()

with语句使用:

>>> with open('sample.txt') as fobj:
...     for line in fobj:
...         print(line, end = '')
... 
I love Python
I love shiyanlou

实验10 异常

  • 1.NameError
  • 2.TypeError
  • 3.异常处理(tryexcept)
  • 4.异常抛出(raise)
  • 5.finally子句

实验11 类

  • 1.类的定义
  • 2.对象初始化

3实验12 模块

  • 1.模块的导入
  • 2.包
  • 3.默认/第三方模块介绍
  • 4.命令行参数

实验13 Collections模块

  • 1.Counter类
  • 2.defaultdict类
  • 3.namedtuple类

实验14 PEP8代码风格指南

  • 1.代码排版
  • 2.字符串引号
  • 3.表达式和语句中的空格
  • 4.注释
  • 5.版本注记
  • 6.命名约定
  • 7.公共和内部接口
  • 8.程序编写建议

标签:运算符,函数,python,列表,学习,参数,字符串,字典
来源: https://www.cnblogs.com/gdman/p/10498858.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有