Python基础

Python基础

Python是时下最流行的编程语言之一,在诸多领域都有着广泛的应用。
目前Python的主流版本有Python2和Python3两个,在这里我们使用Python3来进行学习。
目录:
一、python的基本语法
二、python的基本数据类型
三、条件语句
四、循环语句
五、函数
六、文件
七、python常用模块

一、基本语法
1.Python用缩进划分语句块,缩进为四个空格或者一个TAB键,使用时要保持一致。
2.Python中使用print()输出,使用input()输入。
3.import和from … import … 可以进行包和模块的导入。
4.多个语句在一行中,要使用“;”分隔。
5.注释符是#,注释多行使用doc string(’’’…’’’,”””…”””)。
6.标识符:标识符对大小写敏感
标识符由字母,数字和下划线组成,其中第一个字符必须是字母或者下划线

二、基本数据类型
Python中常见的数据结构有六种:Number(数值)、String(字符串)、List(列表)、Tuple(元组)、Dictionary(字典)、Set(集合)。这些数据类型不仅可以提高Python的运行效率,还极大地提高了我们的开发效率。并且它们让Python的操作变得简单便捷。
在这6个标准的数据类型中:
不可变数据:3个:Number(数值)、String(字符串)、Tuple(元组)
可变数据:3个:List(列表)、Dictionary(字典)、Set(集合)

1.number:
支持int,float,bool,complex(复数)
注意在python3中只有一种整数类型,int,表示长整型,是没有python2中的long的
对于数值类型有如下数值运算。
数值运算:
+(加),-(减),*(乘),/(除),%(取余),**(乘方),//(除法,得到一个整数)
2.string:
在python3中是没有字符这个类型的,只有字符串
Python中的字符串用单引号 ’ 或双引号 " 括起来,同时使用反斜杠 \ 转义特殊字符。
字符串的截取的语法格式如下:
变量[头下标:尾下标]
索引值以 0 为开始值,-1 为从末尾的开始位置。
加号 + 是字符串的连接符, 星号 * 表示复制当前字符串,与之结合的数字为复制的次数。
实例如下:

str = 'hello'
 
print (str)          # 输出字符串
print (str[0:-1])    # 输出第一个到倒数第二个的所有字符
print (str[0])       # 输出字符串第一个字符
print (str[2:5])     # 输出从第三个开始到第五个的字符
print (str[2:])      # 输出从第三个开始的后的所有字符
print (str * 2)      # 输出字符串两次,也可以写成 print (2 * str) 
print (str + "TEST") # 连接字符串

3.list:
List(列表) 是 Python 中使用最频繁的数据类型。
列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
列表是写在方括号 [] 之间、用逗号分隔开的元素列表。
和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
列表截取的语法格式如下:
变量[头下标:尾下标]
索引值以 0 为开始值,-1 为从末尾的开始位置。
加号 + 是列表连接运算符,星号 * 是重复操作。
如下实例:

list = [ 'abcd', 786 , 2.23, 'runoob', 70.2 ]
tinylist = [123, 'runoob']
 
print (list)            # 输出完整列表
print (list[0])         # 输出列表第一个元素
print (list[1:3])       # 从第二个开始输出到第三个元素
print (list[2:])        # 输出从第三个元素开始的所有元素
print (tinylist * 2)    # 输出两次列表
print (list + tinylist) # 连接列表

4.tuple:
元组是一个有序序列。
元组是不可变的,所以在定义时便要确定元组内的元素。
元组因为其不可变性,所以相比于列表而言数据更加安全。
元组由一个小括号包裹,元素用逗号隔开。
声明一个元组有三种方式:

Tuple = tuple(obj1, obj2,)
Tuple = (obj1, obj2,)
Tuple = obj1,obj2,obj3

如果在声明元组时元组只有一个元素,需要在元素后面加上逗号,告诉解释器这不是运算符号中的括号。
注意:
由于元组的不可变性,所以元组并没有添加删除和修改等方法。但是,元组的不可变是相对的,如果元组中的某个元素是可变的,那么,在不删除这个元素的情况下可以对这个元素进行修改。

5.dictionary:
字典是一个无序可变的序列。
字典的每个元素由两部分组成 – 键和值,所以字典的元素也被称为键值对。其中键是不可变且唯一的,如果字典有相同的键,则后面的键对应的值会将前面的值覆盖。
字典由一对花括号包裹,元素由逗号隔开。
常见的字典创建方式:

Dict = {key:value,}
Dict = dict(key=value,)
Dict = dict([(key,value),])

6.set:
集合是一个无序的可变序列。
集合中的元素是唯一的,重复的元素会被删除。
集合是由一个花括号包裹,内部元素以逗号隔开。
声明一个集合的方式有:

Set = set()
Set = {obj1,obj2,}

常见操作:
添加:
set.add(obj):如果元素以已存在,则不会进行任何操作。
set.update(obj):添加对象可以是列表,字典等,且可以是多个,用逗号隔开。
删除:
set.remove(obj)/set.discard(obj):如果删除元素不存在,前者会报错。
set.clear():清空集合。
set.pop():随机删除一个元素。

三、条件语句
Python中if语句的一般形式如下所示:

if condition_1:
    statement_block_1
elif condition_2:
    statement_block_2
else:
    statement_block_3

它的执行过程是:
如果 “condition_1” 为 True 将执行 “statement_block_1” 块语句
如果 “condition_1” 为False,将判断 “condition_2”
如果"condition_2" 为 True 将执行 “statement_block_2” 块语句
如果 “condition_2” 为False,将执行"statement_block_3"块语句
Python 中用 elif 代替了 else if,所以if语句的关键字为:if – elif – else。
注意:
1、每个条件后面要使用冒号( :),表示接下来是满足条件后要执行的语句块。
2、使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
3、在Python中没有switch – case语句。

四、循环语句
Python 中的循环语句有 for 和 while。
1.while循环
Python 中 while 语句的一般形式:

while 判断条件(condition):
    执行语句(statements)……

示例如下:

n = 100
 
sum = 0
counter = 1
while counter <= n:
    sum = sum + counter
    counter += 1
 
print("1 到 %d 之和为: %d" % (n,sum))

2.for循环:
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
for循环的一般格式如下:

for <variable> in <sequence>:
    <statements>
else:
    <statements>

示例如下:当循环到TKE时跳出循环

sites = ["togogo", "TKE","shanghai","hangzhou"]
for site in sites:
    if site == "TKE":
        print("腾科教育")
        break
    print("循环数据 " + site)
else:
    print("没有循环数据!")
print("完成循环!")

五、函数
函数是组织好的,可重复使用的,用来实现单一或相关联功能的代码段。
函数能提高应用的模块性,和代码的重复利用率。
Python提供了许多内建函数,比如print()。也可以自己创建函数,这被叫做用户自定义函数。
定义:
在Python中用关键字def声明函数,后面跟函数名和小括号,括号内可以放置所需参数。
函数体中的第一行可以选择性地使用文档字符串,存放函数说明。
函数内容以冒号起始,并且缩进。
return标志着函数的结束,用于返回一个函数执行的结果。
函数名加小括号即可调用,可在括号内传入所需的参数。

def 函数名(参数列表):
    函数体

当一个函数定义好之后,可以进行函数调用。
参数传递问题:
以下是调用函数时可使用的正式参数类型:
必需参数:必需参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。
关键字参数:关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。
使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为 Python 解释器能够用参数名匹配参数值。
默认参数:调用函数时,如果没有传递参数,则会使用默认参数。
不定长参数:你可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,和上述 2 种参数不同,声明时不会命名
注意:
默认参数必须放在最后面,否则会报错:
SyntaxError: non-default argument follows default argument

def printinfo( age=35,name):   # 默认参数不在最后,会报错
    "打印任何传入的字符串"
    print("名字: ", name)
    print("年龄: ", age)
    return

六、文件
Python内置了读写文件的函数。
函数open()返回文件对象,通常的用法需要三个参数:open(filename, mode,encoding)。
filename:包含了你要访问的文件名称的字符串值。
mode:决定了打开文件的模式。
encoding:打开文件的编码格式,默认为utf8。
示例:f = open(“workfile”,“r”,encoding=“utf8”)# 以只读的方式打开文件workfile,编码格式为utf8。

访问模式说明
r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式
w打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件
a打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。新的内容会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入
r+打开一个文件用于读写。文件指针将会放在文件的开头
w+打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

文件的常用操作函数:

函数说明
f.write(str)写入字符串
f.read([size])读数据,size表示读出多少字节的数据,没有size则全部读出
f.readline()读一行,到文件结尾,返回空串
f.tell()返回当前文件读取位置
f.flush()刷新缓存
f.close()关闭文件

注意:
打开文件进行读写时,在操作完毕后一定要进行关闭。因为文件关闭之前,数据存在于缓存之中,使用flush刷新缓存会将数据清除。
长时间的打开不关闭文件,有可能会引发异常。

七、常用模块
1.sys:
sys模块负责程序与Python解释器的交互,提供了一系列的函数和变量,用于操控Python运行时的环境。
常用属性及方法:
sys.argv:获取从程序外部的参数。
sys.exit():程序运行中退出。
sys.path():获取Python模块搜索路径的值。
sys.platform:获取系统运行平台。
sys.stdin/stdout/stderr:系统的标准输入输出、错误。

2.os:
os模块负责程序与操作系统的交互,提供了访问操作系统底层的接口。
常用方法及属性:
os.path.basename():返回一个路径中的文件名。
os.path.dirname():返回文件路径。
os.environ:包含环境变量的映射关系,os.environ[“HOMEPATH”] 可以得到环境变量HOMEPATH的值。
os.chdir(dir):改变当前工作目录,os.chdir(“d:\mydir”)。
os.getcwd():得到当前目录。

3.time:
time模块是Python中处理时间的一个重要模块,包含了许多的有关时间操作的方法。
常用方法:
time.sleep(secs):线程休眠指定时间后继续运行。
time.strftime(format[, t]):将指定的struct_time(默认为当前时间),根据指定的格式化字符串输出。
time.time():返回当前时间的时间戳。
time.localtime([secs]):将一个时间戳转换为当前时区的struct_time。

4.datetime:
datetime是Python中关于日期时间操作模块,内置了诸多关于日期时间转化和计算的方法。
datetime库中的操作主要是对其中四个类的操作:
datetime.date:日期类
datetime.time:时间类
datetime.datetime:时间日期类
datetime.timedelta:时间计算类
4.1datetime.date:
today():获取今天的日期。
strftime(format):格式化为需要的时间格式。
timple():将日期转成struct_time格式。
fromtimestamp(timestamp):将时间戳转化为date对象。
4.2datetime.time:
datetime.time.(format):格式化输出。
4。3datetime.datetime:
now():返回当前日期时间对象。
ctime():返回日期时间字符串。
date():返回日期对象。
time():返回时间对象。
4.4datetime.timedelta:
d1-d2:返回两个日期之间的timedelta对象。
days():返回两个日期之间的天数。
total_seconds():返回总秒数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值