随着人工智能时代的到来,Python凭借其简单高效、强大的AI库、海量的模块等优势,成为研究AI最常用的开发语言。越来越多的人开始学习Python,笔者也加入了学习Python的大军。本文主要是笔者在学习Python路上的学习笔记和经验分享。
Python 是一门开源免费、通用型的脚本编程语言,它上手简单,功能强大。作为当下人工智能,数据分析等领域的核心语言,Python被广大的程序员使用。
相较于其他编程语言,Python的特点是简单易学、开发速度快、运用范围广。Python的学习门槛很低,开发者可以在较短的时间内通过Python完成一个demo。Python应用范围广泛,应用在科学计算、自动化运维 、云计算服务、网络爬虫 、数据分析 以及AI前端等各个领域,能够像胶水一样粘连万物。但任何事物都没有完美的,Python也有它致命的缺点,主要是运行速度慢、效率低,只能作为程序员的第二语言。
编译环境是Visual Studio Code 1.59.1,Python版本是3.8.5。本章只是简要介绍一下Python中变量、函数等基本知识,详细部分见后续章节。
输出字符串“hello world”和2+5的运算结果
代码如下:
print("Hello, world ") #//输出显示
x=2 #//变量x 赋值为2
y=5
print(x+y) #//输入 x+y的结果显示
运行结果
Hello, world
7
常见的数据类型有字符串、数字、列表、字典和逻辑等
字符串(string) //‘pork’ ‘辣椒’
数字(number) // 0.5 5
列表 //['盐','芝麻','花椒']
字典 //{'name':'王伟','age':25,'school':'新东方'}
逻辑(Bool) //True(真) False(假)
变量可以变化,存放不同的东西
变量 //变量可以变化,存放不同的东西
//pot = ‘辣椒’ listBox = ['盐','芝麻', '花椒']
流程控制主要分为分支和循环。分支结构是根据不同的条件,执行不同的语句,而循环结构是根据指定的条件,重复执行某段代码。
分支结构
if(fire == '大火'): #注意有冒号
print('翻炒10下') #注意冒号下的分支程序要 Tab键缩进
else:
print('翻炒20下')
循环结构
count=0
while(count<10):
count=count+1
print("徐鲸鱼"+str(count))
Python使用def开始函数定义,紧接着是函数名,括号内部为函数的参数,内部为函数的具体功能实现代码。如果想要函数有返回值, 在expressions中的逻辑代码中用return返回。函数的格式如下:
def function_name():
expressions
简单的两个数求和函数:
def fun_add(a,b):
c=a+b
print("the answer is",c)
假如求7+8的结果,调用函数fun_add(7,8),运行结果如下:
wzy@wzy-virtual-machine:~$ /bin/python3 /home/wzy/newpython.py
the answer is 15
类(class):用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。
对象:通过类定义的数据结构实例。
Python定义类使用关键字class,class后面紧接类名,类名通常是大写开头的单词。类的格式如下:
class ClassName:
语句1
...
语句n
举例
class Person: #//定义类(只是想法)
name = 'wzy' #//类属性
def talk(self): #//类行为(方法):形参self必须有,代表类的实例
print("can talk,my name is:",self.name);
p = Person() #//新建类的实例对象
p.talk() #//调用对象的方法(无参,但其实有参,它是隐藏的第一个实参,为类的实例)
print("name is",p.name) #//访问对象的属性
p.age=23 #//可动态添加(python是动态语言)
print("age is",p.age)
运行结果
can talk,my name is: wzy
name is wzy
age is 23
Python有大量的库,需要的时候可以直接调用,这也是Python强大的原因之一。Python库的具体情况可以参考官方文档 https://docs.python.org/zh-cn/3/
举例
#//官方文档 https://docs.python.org/zh-cn/3/
import random #//随机数库
print(random.random())
import time; #//时间的库
print(time.ctime())
import math; #//数学库
print(math.gcd(4,12))
运行结果
0.6612123380473861
Mon Apr 4 20:45:56 2022
4
数据输入并查看类型
a = input("请输入: ")
print(a, type(a))
老版本格式化输出
print("%s %c %d %x"%('wzy',97,10,15)) #//老版本格式化输出: 字符串 整型 字符 16进制
#输出结果
wzy a 10 f
新版本格式化输出
i = 2
j = 5
print('{}*{}={} '.format(i, j, i * j))
#//新版格式化输出: 0指format的第一个对象(如2),1指format的第二个对象(如5),
#// {1:x} 冒号前指对象,冒号后指定输出类型(b:二进制,x:16进制)
print('{0}二进制:{0:4b} {1}十进制:{1:d} 16进制:{1:x}'.format(3,10))
#输出结果
3二进制: 11 10十进制:10 16进制:a
例:猜数游戏
在0和1之间猜一个数,电脑在0和1之间随机猜一个数,如果一样游戏获胜。
import random
def guess():
a=int(input("guess a number,1 or 0\n"))
b=random.randint(0,1)
print("computer is",b)
if(a==b):
print("you win!")
else:
print("you lose")
guess()
guess a number,1 or 0
1
computer is 1
you win!
例:九九乘法表
双层嵌套循环打印九九乘法表
for i in range(1, 10):
for j in range(1, i + 1):
print('{}*{}={} '.format(i, j, i * j), end='') #//end指定结束方式,如不指定,将默认换行
print('')
运行结果
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
Python是逐行解析的,如果某条语句出现错误,就会停在出错处,不再向下执行。可以通过将出错语句放在try语句后,这样即使出错也会继续向下执行。
x=3
y=0
try: #//如无异常判断将终止退出,不能继续往下执行
print(x/y)
except :
print("can not be zero")
print("go go go")
运行结果
can not be zero
go go go
#//---关键字(保留字) --> 保留字不能用作常数或变数,或任何其他标识符名称 ,python 关键字全小写
print pass assert
if else return for while continue break
class try
def with import from is finally lambda
= + - * %
#//---语句
counter = 100; #//语句:把整型数据100赋值给变量counter (;表示语句结束,可省略).
name = "John" #//字符串类型
price = 2+3+5; #//表达式语句
Price = 8; #//区分大小写(price 和Price不是同一个)
#//---注释
# #//单行注释
''' 多行注释 ''' #//多行注释:三个单引号或双引号
""" 多行注释 """
#//---字面量(直接量) --> 直接用的数据值(如 print(34+5))
34 'ivan' True False #//基础类型: 数字 字符串 bool值。
[2,3,'ivan',5] #//列表 train= [2,5,'ivan',False]
#//print(train) train[2]=55 print(train)
(1,5) #//元祖 a=(1,5) a[0]=3; 改写会失败
{'name':'lili','age':30} #//字典 b={'name':'lili','age':30}; b['age']=20;
#//print(b); print(b['name']);
ps:Windows下Python的注释快捷键和取消注释快捷键都是“ctrl + / ”
以上就是今天要分享的内容,未完待续!
点赞加关注,感谢您的资瓷!