一、应用场景
人工智能:Python简单易学,并且由于其丰富的系统类库与不断增长的AI开发框架,使它成为了当今学习人工智能的不二语言。例如Tensorflow框架、PyTorch框架、PaddlePaddle框架等都是十分优秀的AI开发框架。
科学计算与数据分析:Python拥有Numpy、Pandas、Matplotlib等一系列库帮助用户轻松分析大数据并进行数据可视化。此外,Python在金融分析领域的生产效率也很高。
云计算:云计算领域最常用的语言就是Python,典例为OpenStack。可以利用云算力解决自身算力不足的问题。
网络爬虫:爬虫本质上一种模拟浏览器请求网页信息的行为,Python提供了十分方便的网络接口进行数据爬取。
由于其广泛的使用场景,使得Python于2019年世界编程语言排名中,以2.77%的增幅,超于C++,跻身世界编程语言排名第三名。
二、基础语法
#基本输出
num1=123
num2=456
print(num1+num2) #打印 579
str1="Hello"
str2="World"
print(str1[:3]) #字符串切片,打印 Hel
print(str1+" "+str2) #打印 Hello World
#使用占位符输出
print("My name is %s, %d years old" %('kzore',22)) #打印My name is kzore, 22 years old
print("My name is {0}, {1} years old".format("kzore",22)) #打印My name is kzore, 22 years old
#基本输入
name=input("请输入你的姓名:") #使用input进行输入
print("欢迎%s来到Python的世界" %name) #打印 欢迎Tom来到Python的世界
num=eval(input("请输入一个数字")) #输入默认是字符串类型,加eval()转为数字类型
print(num*2) #输入6时打印12;输入1.2时打印2.4,若不加eval,则会变成字符串拼接输入6时,输出为66
#强制转化
num=123
strNum="100"
print(num+int(strNum)) #打印223
print(strNum+str(num)) #打印100123
#条件判断
shape="circle"
if shape=="rectangle":
print("矩形")
elif shape=="circle":
print("圆形")
else:
print("椭圆形")
#循环操作
for i in range(5):
print(i) #打印 0 1 2 3 4
sum=count=0
while count<10:
sum+=count
count+=1
print(sum) #打印45,计算的是sum(0,9)
符号 | 含义 | 举例 | 结果 |
---|---|---|---|
/ | Float Division | 13/2 | 6.5 |
// | Integer Division | 13//2 | 6 |
** | Exp(幂运算) | 2**3 | 8 |
三、数据类型
#数据类型 -- list(列表)
names = ['jack','tom','tonney','superman','jay']
#直接通过下标访问元素
print(names[2]) #打印 tonney
print(names[-1]) #打印 jay,即[-1]表示列表最后一个
#遍历列表获取列表元素
for name in names:
print(name) #打印 jack,tom,tonney,superman,jay
#查询names里有没有superman
if 'superman' in names:
print('有超人')
else:
print('有超人')
#添加元素
names.append("xianyong")
print(names) #打印 ['jack', 'tom', 'tonney', 'superman', 'jay', 'xianyong']
#指定位置添加元素
names.insert(3,"测试")
print(names) #打印 ['jack', 'tom', 'tonney', '测试', 'superman', 'jay', 'xianyong']
#删除元素
names.remove("tonney")
print(names) #打印 ['jack', 'tom', '测试', 'superman', 'jay', 'xianyong']
names.pop(2)
print(names) #打印 ['jack', 'tom', 'superman', 'jay', 'xianyong']
#列表切片(左闭右开)
print(names[1:3]) #打印 ['tom', 'superman']
nums = [5,3,8,1,7,2,4,9,6]
#列表排序
num1=sorted(nums)
print(num1) #打印 [1, 2, 3, 4, 5, 6, 7, 8, 9]
num2=sorted(nums,reverse=True)
print(num2) #打印[9, 8, 7, 6, 5, 4, 3, 2, 1]
#数据类型 -- dict(字典)
dict = {'name':'Tony','weight':45,'age':25}
print(dict['name']) #打印 Tony
print(dict.items()) #打印 dict_items([('name', 'Tony'), ('weight', 45), ('age', 25)])
#将value放入list中
info=dict.values()
for item in info:
print(item) #打印 Tony 45 25
#删除字典的一对键值
dict.pop('weight')
print(dict) #打印 {'name': 'Tony', 'age': 25}
#数据类型 -- set(集合)
set1={1,7,3,5,3,4}
print(set1) #打印{1, 3, 4, 5, 7} ,可以看到集合有去重和自动排序的功能
for it in set1:
print(it) #顺序打印 1 3 4 5 7
set2={2,9,4,5,3}
print(set2) #同理,打印{2, 3, 4, 5, 9}
set1.add(9) #增加元素
print(set1) #打印 {1, 3, 4, 5, 7, 9}
set1.remove(4) #删除元素
print(set1) #打印 {1, 3, 5, 7, 9}
set3=set1&set2 #求两个集合的交集
print(set3) #打印 {9, 3, 5}
set4=set1|set2 #求两个集合的并集
print(set4) #打印 {1, 2, 3, 4, 5, 7, 9}
四、文件读写
''' data.txt内容: 人生若只如初见 何事秋风悲画扇 '''
#读文件
with open("data.txt","r",encoding="utf-8") as f:
datas=f.readlines() #一行一行读入,每一行为list的一个元素
for line in datas:
line=line.strip('\n') #每行后面会有一个换行符 '\n',用strip()可以去除
print(line) #顺序打印 人生若只如初见 何事秋风悲画扇
#写文件
with open("data.txt","w",encoding="utf-8") as f:
str1="等闲变却故人心\n"
str2="却道故心人易变\n"
f.write(str1)
f.write(str2)
''' data.txt内容: 等闲变却故人心 却道故心人易变 可以看到,原来的内容被覆盖了,那么如果表示追加呢?只需要把 'w' 改为 'a' '''
with open("data.txt","a",encoding="utf-8") as f:
str1="等闲变却故人心\n"
str2="却道故心人易变\n"
f.write(str1)
f.write(str2)
''' 用这个代码写入后,data.txt如下: 人生若只如初见 何事秋风悲画扇 等闲变却故人心 却道故心人易变 '''
五、面向对象
#定义一个类
class Person(object):
# 类的构造函数
def __init__(self, name): #Python语言中,self代表自身实例,方法中必须加
self.name = name
print('我的名字是:'+self.name)
#自定义类方法
def eat(self):
print(self.name+'喜欢美食')
#定义子类继承Person类
class Student(Person):
#子类的构造函数
def __init__(self,name):
self.name = name
print('学生名字是:'+self.name)
def study(self):
print('我最喜欢写英语作文了')
P=Person("张三") #打印 我的名字是:张三
P.eat() #打印 张三喜欢美食
S=Student("李华") #打印 学生名字是:李华
S.study() #打印 我最喜欢写英语作文了
S.eat() #子类可以使用父类的方法,打印 李华喜欢美食