Python编程基础(快速入门必看

Python编程基础

一、Python语言基本语法

  • Python是一个结合了解释性、编译性、互动性和面向对象的高级程序设计语言,结构简单,语法定义清晰。
  • Python最具特色的就是使用缩进来表示代码块,不需要使用大括号{}。
  • 缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。
1answer = int(input("请输入一个整数:")) 2if answer == 2: 3 print("hello,") 4 print("it's True") 5else: 6 print("sorry,") 7 print("it's False")

在这里插入图片描述

1、基础数据类型

  • Python3中有六个标准的数据类型:Number(数字)、String(字符串)、List(列表)、Tuple(元组)、Set(集合)、Dictionary(字典)。其中,不可变数据类型有:Number、String、Tuple;可变数据类型有:List、Dictionary、Set。
  • Python3支持的数字类型有int(整数)、float(浮点数)、bool(布尔型)、complex(复数)四种类型。

2、变量和赋值

  • Python 中的变量是不需要声明数据类型的,变量的“类型”是所指的内存中被赋值对象的类型。
  • 同一变量可以反复赋值,而且可以是不同类型的变量,这也是Python语言称之为动态语言的原因。
  • Python允许同时为多个变量赋值。
1brower = 'Google' #字符串类型 2brower = 100 #整数类型 3brower = 123.45 #浮点数类型 4brower = 2 + 3j #复数类型 5brower, count, addsum = 'Google', 100, 123.45 6print(brower, count, addsum)

在这里插入图片描述

3、操作符和表达式

  • 运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。
  • Python语言支持算术运算符、关系运算符和逻辑运算符。
  • 表达式是由操作对象和操作符组成的有意义的式子。

在这里插入图片描述

4、字符串

  • 字符串被定义为引号之间的字符集合,在Python中,字符串用单引号(’), 双引号("), 三引号(’’’)括起来,且必须配对使用。
  • 当Python字符串中有一个反斜杠时表示一个转义序列的开始,称反斜杠为转义符。

在这里插入图片描述

字符串的运算

字符串子串可以用分离操作符([]或者[:])选取,Python特有的索引规则为:第一个字符的索引是0,后续字符索引依次递增,或者从右向左编号,最后一个字符的索引号为-1,前面的字符依次减1。

下表给出了字符串的常用运算。
在这里插入图片描述
字符串的常见方法属性
在这里插入图片描述

5、流程控制

1.分支结构:

又称为选择结构,根据判断条件,程序选择执行特定的代码。 
Python语言中使用关键字if、elif、else来表示,基本语法格式如下:

1if condition: 2 if-block 3[elif condition: 4 elif-block 5else: 6 else-block]

其中,冒号(:)是语句块开始标记,[ ]内为可选项。另,在python中,当condition的值为False、0、None、””、()、[]、{}时,会被解释器解释为假(False)。

2. 循环语句

循环结构是指满足一定的条件下,重复执行特定代码块的一种编码结构。Python中,常见的循环结构是for循环和while循环。

(1)while循环

while语句语法格式:

1while condition: 2 while-block

用例:

1i = 0 2while i < 20: 3 if i % 3 == 0: 4 print(i,end= " ") 5 i = i + 1

在这里插入图片描述

(2)for 循环:

for循环的语句格式:

1 for v in Seq: 2 for_block

其中,v是循环变量,Seq是序列类型,涵盖字符串、列表及元组,在每轮循环中,循环变量被设置为序列类型中的当前对象,for_block是循环体,用来完成具体功能。

例:求1+2+3+4+5的值

1sum = 0 2for i in range(1,6): 3 sum = sum + i 4 5print("1+2+3+4+5 = %d"%sum)

在这里插入图片描述

二、内建数据结构

在Python中,最基本的数据结构是序列。
序列中的成员有序排列,都可以通过下标偏移量访问到它的一个或几个成员。除了前面已经介绍过的字符串,最常见的序列是列表和元组。

1、列表

  • 列表是Python中最具灵活性的有序集合对象类型。和字符串不同的是,列表具有可变长度、异构以及任意嵌套列表的特点。
  • 列表是可变对象,支持在原处修改。

列表的常用方法

  1. L.append(v) :把元素v添加到列表L的结尾,相当于a[len(a)] = [v]
  2. L.insert(i,v):将值v插入到列表L的索引i处
  3. L.index(x):返回列表中第一个值为x的元素的索引
  4. L.remove(v):从列表L中移除第一次找到的值v
  5. L.pop([i]):从列表的指定位置删除元素,并将其返回。如果没有指定索引,a.pop()返回最后一个元素。
  6. L.reverse():倒排列表中的元素
  7. L.count(x):返回x在列表中出现的次数
  8. L.sort(key=None, reverse=False):对链表中的元素进行适当的排序。

列表的推导式
列表推导式提供了从序列创建列表的简单途径。通常应用程序将一些操作应用于某个推导序列的每个元素,用其获得的结果作为生成新列表的元素,或者根据确定的判定条件创建子序列

在这里插入图片描述
列表推导式示例:

1vec = [2, 4, 6, 8, 10] 2print([3*x for x in vec]) 3 4vec = [2, 4, 6,8,10] 5print([3*x for x in vec if x > 6]) 6 7vec1 = [2, 4, 6] 8vec2 = [4, 3, -9] 9print([x*y for x in vec1 for y in vec2 if x*y>0])

在这里插入图片描述

2、元组

  • 元组有很多用途,例如:坐标(x, y),数据库中的员工记录等等。
  • 元组和字符串一样,不可改变,即不能给元组的一个独立的元素赋值。
  • 元组和列表看起来不同的一点是:元组用的是圆括号(),而列表用的是方括号[]。
1tup = tuple('bar') #创建元组 2print('输出元组tup:',tup) #输出元组 3 4nested_tup = (4,5,6),(7,8) 5print('输出元组图tup:',nested_tup)#输出元素是元组的元组 6print('元组的连接',tup+tuple('wwy')) 7 8a,b,c = tup #元组的拆分 9print(a,b,c) 10print(tup.count(a)) # 统计某个数值在元组中出现的次数

在这里插入图片描述

3、字典

  • 字典,也称映射,是一个由键/值对组成的非排序可变集合体。键值对在字典中以下面的方式标记:
  • dict = {key1 : value1, key2 : value2 }
  • 键/值对用冒号分割,而各个元素之间用逗号分割,所有元素都包括在花括号中。值得注意的是,字典中的键必须是唯一的,只能使用不可变的对象(比如字符串)来作为字典的键,字典中的键/值对是没有顺序的。

字典的常用方法描述
在这里插入图片描述
用例:

1scientists = {'Newton' : 1642, 'Darwin' : 1809, 'Turing' : 1912} 2print('keys:', scientists.keys()) #返回字典中的所有键 3print('values:', scientists.values()) #返回字典中的所有值 4print('items:', scientists.items()) #返回所有键值对,形式(,) 5print('get:', scientists.get('Curie', 1867)) # get方法 6 7temp = {'Curie' : 1867, 'Hopper' : 1906, 'Franklin' : 1920} 8scientists.update(temp) #用字典temp更新字典scientists 9print('after update:', scientists) 10scientists.clear() # 清空字典 11print('after clear:', scientists)

在这里插入图片描述

4、集合

  • 集合是一个由唯一元素组成的非排序集合体。
  • 集合中的元素没有特定顺序,集合中没有重复项。
  • 可以使用大括号{ }或者set()函数创建集合,但是,创建一个空集合必须用 set(),因为{ }是用来创建一个空字典。
1set1 = set([0,1,2,3,4]) 2set2 = set([1,3,5,7,9]) 3print(set1.issubset(set2)) 4print(set1.union(set2)) 5print(set2.difference(set1)) 6print(set1.issubset(set2))

在这里插入图片描述

三、函数

  • 函数是对程序逻辑进行过程化和结构化的一种方法,函数最大的优点是增强了代码的重用性和可读性。
  • Python不但能灵活地定义函数,而且本身内置了很多有用的函数,可以直接调用。

函数定义语法格式如下所示:

1def function_name(arguments): 2 function_block

关于函数定义的说明:

  1. 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号();
  2. function_name是用户自定义的函数名称;
  3. arguments是零个或多个参数,且任何传入参数必须放在圆括号内;
  4. 最后必须跟一个冒号 :,函数体从冒号开始,并且缩进;
  5. function_block实现函数功能的语句块。

lambda函数
Python使用lambda来创建匿名函数,准确地说,lambda只是一个表达式,函数体比def定义的函数简单的多,在lambda表达式中只能封装有限的逻辑。除此之外,lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。

例题:假如要编写函数实现计算多项式1+2_x+y2+z_y的值,可以简单的定义一个lambda函数来完成这个功能。

1polynominal = lambda x,y,z: 1+2*x+y**2+z*y 2polynominal(1,2,3)

在这里插入图片描述

四、文件操作

1、文件处理过程

  1. 打开文件:open()函数;
  2. 读取/写入文件:read()、readline()、readlines()、write()等;
  3. 对读取到的数据进行处理;
  4. 关闭文件:close()。

对文件操作之前需要用open() 函数打开文件,打开之后将返回一个文件对象(file对象)。open 函数的语法格式如下:
file_object = open(file_name [, access_mode = “r”, buffering= -1])

2、数据的读取方法

在这里插入图片描述
读取txt文件时指定读取数量

1f = open("记事本.txt",mode = 'r') 2content = f.read(10) #设置读取内容的长度size 3print(content) 4f.close() 5print(type(content))

按行读取txt文件

1f = open("记事本.txt",mode='r') 2content = f.readlines() 3print(content) 4f.close()

3、读取csv文件

CSV (Comma Separated Values),即逗号分隔值,也称为字符分隔值,因为分隔符除了逗号,还可以是制表符,是一种常用的文本格式,用以存储表格数据,包括数字或者字符。

CSV文件具有如下特点:

  1. 纯文本,使用某个字符集,比如ASCII、Unicode或GB2312;
  2. 以行为单位读取数据,每行一条记录;
  3. 每条记录被分隔符分隔为字段;
  4. 每条记录都有同样的字段序列。

Python内置了csv模块,import csv之后就可以读取CSV文件了。

1import csv 2with open("student.csv", "r") as f: 3 reader = csv.reader(f) 4 rows = [row for row in reader] 5for item in rows: 6 print(item)

4、文件写入与关闭

文件的写入

  • write() 函数用于向文件中写入指定字符串,同时需要将open函数中文件打开的参数设置为 mode = w。
  • write() 是逐次写入,writelines() 可将一个列表中的所有数据一次性写入文件。
  • 如果有换行需要,则要在每条数据后增加换行符,同时用“字符串 .join() ”的方法将每个变量数据联合成一个字符串,并增加间隔符 “\t”。

用例:

1import csv 2content = [['0','hanmei','23','81'], 3 ['1','mayi','18','99']] 4f = open("test.csv","w",newline='')#如果不加newline="",就会出现空行 5content_out = csv.writer(f)#生成writer对象存储器 6for con in content: 7 content_out.writerow(con) 8 9f.close()

运行就会生成一个csv文件
在这里插入图片描述
打开test.csv文件:
在这里插入图片描述

关闭文件

文件操作完毕,一定要关闭文件close(),以便释放资源供其他程序使用。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

Python3:sqlalchemy对mysql数据库操作,非sql语句

Python3:sqlalchemy对mysql数据库操作,非sql语句python3authorlizmdatetime2018020110:00:00coding:utf8'''