浅谈Python基础

本人是刚刚学完Python基础课程的小白之一。对Python这门语言有了一定的了结。所以,我想把这些天我学到的东西分享给大家。也算是自己对这大约一个月的时间学习到的知识做一个总结吧。

我们为什么要学习Python这门语言呢?近些年来,人工智能产业得到了飞速的发展,同时也使Python这一门编程语言火了起来。Python在人工智能这一方面具有重要的作用,Python中具有的numpy,pandas库在人工智能中的数据分析方面起到了重大作用。所以Python是人工智能方面必备的编程语言之一。

Python是什么?官方宣传说:Python是一种面向对象的解释性高级编程语言,具有动态语义。那么,就让我们开始Python的学习之旅吧。

(一)程序的输入输出

程序输入:程序输入由input函数来执行

其中input可以在后面添加(‘要输出的字符串’)

最后输出为:要输出的字符串+要输出的内容

程序输出:程序输出由print函数来执行

如果要输出一个整数

就是input(x)  x为需要输出的整数

如果要输出多个数据,具体操作如下:

x=input('x=')
y=input('y=')
print(x,y)

(二)列表和元祖

列表和元祖是Python中最重要的两种序列。列表和元祖的区别在于:列表是可以修改,元祖不可修改。

列表与字典中有许多方法,由于篇幅有限,后面有·多种方法的只用一种方法进行演示。

列表:列表用[]表示

下面以append方法进行演示列表基本方法的使用:

ab=[1,2,3]
ab.append(4)#将一个对象附加到列表末尾
print(ab)

部分常用方法:

clear:清空列表内容

copy:复制列表

count:计算指定元素出现次数

index:查找指定值第一次出现的索引

insert:将对象插入列表

 reverse:反序排列列表中元素

sort:对列表就地排序

pop:从列表中删除一个元素

extend:将多个对象添加到列表末尾

remove:删除第一个为指定值的元素

元祖:元祖用()表示

创建一个元祖:

tu=(1,2,3,)#创建一个名为tu的元祖

 列表与元祖的通用操作:切片

切片是从一串数据中读取需要的数据,下面就以列表为例介绍切片的基本操作。

xm=[1,2,3,4,5,6,7,8,9,10]#创建一个列表
print(xm[1:9:2])#默认第一个索引为0,第一个数为起始索引,第二个数表示结束索引的后一位,第三个数表示步长

(三)使用字符串

字符串的格式设置通常用%s表示

字符串的基本方法:

以find方法为例

a='hello,Hello'
b=a.find('hello')#find方法是在字符串中查找子串,若找到,返回子串的第一个字符串的索引,若没找到,返回-1
print(b)

其他常用方法:

center:在两边添加填充字符使字符串居中。(默认为空格)

join:合并序列中的元素

lower:返回字符串的小写版本

replace:将指定子串替换为另一个字符串并返回替换后的结果

split:将字符串拆分为序列

strip:将字符串开头和末尾的空白删除,并返回删除后的结果

(四)字典

字典的特点:其中的值不按顺序排列,而是存储在键下

创建和使用字典:

animals={'Jack':'cat','Tom':'dog','Jerry':'fish'}#创建字典
print(len(animals))#len(d)返回字典d包含的项数

其他基本操作:

d[k]返回与键k相关联的值

d[k]=v 将值v关联到键k

del d[k]删除键为k的项

k in d检查字典d是否包含键为k的项

字典方法:

以pop方法为例

d={'x':1,'y':2}
d.pop('x')#用于获取与指定键相关联的值,并将该键-值对从字典中删除

其他常用方法:

clear 删除所有的字典项

copy 返回一个新字典,里面的数据与原字典相同(浅复制)

deepcopy 同时复制值及其包含的所有值(深复制)

fromkeys 创建一个包含指定键的新字典,每个键对应值均为None

get 访问字典项

items 返回一个包含所有字典项的列表

keys 返回一个包含指定字典中的键的字典视图

update 使用一个字典中的项更新另一个字典

values返回一个由字典中的值组成的字典视图

(五)流程控制

1.缩进

在循环中和if语句中均有缩进,需要注意

2.if语句

if用来判断条件是否成立

(1)单个条件判断使用if-else语句

a=0
if a>0:
    print(a)#条件成立执行的语句
else:
    print(a+1)#条件不成立执行的语句

(2)多个条件判断使用elif子句

a=0
if a>0:
    print(a+1)#第一个条件成立执行的语句
elif a==0:
    print(a)#第二个条件成立执行的语句
else:
    print(a-1)#第一个条件和第二个条件均不成立执行的语句

3.循环

(1)while循环

条件成立,进入循环,执行循环里面的内容,直到条件不成立,退出循环

x=1
while x<=100:#循环条件
    print(x)#循环中的内容
    x+=1#循环中的内容

(2)for循环

for循环通常用来遍历我们所需要遍历的元素

a=[1,2,3,4,5,6,7,8,9,10]
for a in a:
    print(a)

运行结果:

1
2
3
4
5
6
7
8
9

10

4.简单的列表推导式

[(x,y)for x in range(3) for y in range(3)]#遍历一个x从0到2,y从0到2的平面坐标

4.其他

break 跳出循环

continue 结束当前迭代,进入下一次迭代

pass 什么都不做

del 删除不再使用的对象

(六)函数

函数,就是一个可被调用的代码块。

函数的定义和调用

def ifelse(a):#定义一个名为ifelse的函数
    if a>0:
        print(a+1)
    else:
        print(a-1)#代码块
a=input('a=')
ifelse(int(a))#调用函数

函数递归

函数递归指的是函数自己调用自己的情况

下面给出示例

def power(x,n):
    if n==0:
        return 1
    else:
        return x*power(x,n-1)#重复调用自身
print(power(2,3))

(七)类与对象

类:类型

对象:属于特定的类,并且被称为该类的实例

方法:与函数类似

类的继承:

python中可以进行多继承,一个基类可以有多个子类,一个子类可以有多个基类。Python中应当尽量避免多继承。


class fruit1():#定义一个基类
    def __init__(self,person,fruit):#基类的方法
        self.person =person
        self.fruit=fruit

    def eat(self):
        print('%s爱吃%s'%(self.person,self.fruit))
class apple(fruit1):#创建基类下的子类
    def __init__(self,person,fruit,health):
        super(apple, self).__init__(person,fruit)#子类应该具有基类的属性
        self.health=health
    def good(self):#子类的方法
        print('%s%s'%(self.fruit,self.health))

a=apple('孩子','apple','vc')
a.good()

静态方法和类方法

静态方法:静态方法的定义中没有参数self,可直接通过类来调用

类方法:定义中包含类似于self的参数,通常被命名为cls。它可以通过对象直接调用,但参数cls将自动关联到类

class Myclass:
    def smeth():#静态方法
        print('This is aatatic method')
    smeth=staticmethod(smeth)
    def cmeth(cls):#类方法
        print('This is class method of',cls)
    cmeth=classmethod(cmeth)
        

(八)文件操作

文件操作是Python中的一个重要的部分,文件有以下几种常用操作

r 读取模式

w 写入模式

x 独占写入模式

a 附加模式

b 二进制模式(与其他模式结合使用)

t 文本模式(默认值,与其他模式结合使用)

+ 读写模式(与其他模式结合使用)

下面以写入模式为例

f=open('somefile.txt','w')#以写入模式打开文件
f.write('Hello,')
f.write('World!')#写入内容
f.close()#关闭文件

(九)常用模块 time模块

我们可以导入time模块进行关于时间的操作

import time as t#将time模块导入,并使其别名为t
t.sleep(5)使用time模块中的sleep函数,使程序休眠5秒

time模块中的常用方法:

asctime([tuple]) 将时间元祖转换为字符串

localtime([secs])将秒数转换为表示当地日期的时间元祖

mktime(tuple)将时间元祖转换为当地时间

sleep [secs] 休眠sec秒

strtime(string[,format])将字符串转换为时间元祖

time()当前时间(从新纪元开始后的秒数,以UTC为准)

(十)异常

异常是什么?

异常是程序中出现的相关错误,我们可以通过有关操作来捕获它

try:
    x=int(input('Enter the first number:'))
    y=int(input('Enter the next number:'))
    print(x/y)#要执行的代码块
except (ZeroDivisionError,TypeError)as e:#检查是否有此异常
    print(e)#有异常的操作
else:print('No error')#无异常的操作
finally:print('Solve it')#有无异常都要进行的操作
    

如果代码块中的异常与检查的异常不符,程序仍会报错

IDE:Anaconda3(64-bit)

参考文献《Python基础教程》(第3版)

[挪]Magnus Lie Hetland 著

袁国忠 译






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值