【Python学习笔记(一)—— 初识Python】
Python学习笔记(一)
文章目录
- Python学习笔记(一)
- 前言
- 一、Python简介
- 二、初识Python
- 1.最简单的Python程序
- 2.数据类型和变量
- 3.流程控制
- 4.函数
- 5.类
- 6.库
- 7.输入输出
- 8.异常
- 9.语法识别
- 总结
前言
随着人工智能时代的到来,Python凭借其简单高效、强大的AI库、海量的模块等优势,成为研究AI最常用的开发语言。越来越多的人开始学习Python,笔者也加入了学习Python的大军。本文主要是笔者在学习Python路上的学习笔记和经验分享。
一、Python简介
Python 是一门开源免费、通用型的脚本编程语言,它上手简单,功能强大。作为当下人工智能,数据分析等领域的核心语言,Python被广大的程序员使用。
相较于其他编程语言,Python的特点是简单易学、开发速度快、运用范围广。Python的学习门槛很低,开发者可以在较短的时间内通过Python完成一个demo。Python应用范围广泛,应用在科学计算、自动化运维 、云计算服务、网络爬虫 、数据分析 以及AI前端等各个领域,能够像胶水一样粘连万物。但任何事物都没有完美的,Python也有它致命的缺点,主要是运行速度慢、效率低,只能作为程序员的第二语言。
二、初识Python
编译环境是Visual Studio Code 1.59.1,Python版本是3.8.5。本章只是简要介绍一下Python中变量、函数等基本知识,详细部分见后续章节。
1.最简单的Python程序
输出字符串“hello world”和2+5的运算结果
代码如下:
print("Hello, world ") #//输出显示
x=2 #//变量x 赋值为2
y=5
print(x+y) #//输入 x+y的结果显示
运行结果
Hello, world
7
2.数据类型和变量
常见的数据类型有字符串、数字、列表、字典和逻辑等
字符串(string) //‘pork’ ‘辣椒’
数字(number) // 0.5 5
列表 //['盐','芝麻','花椒']
字典 //{'name':'王伟','age':25,'school':'新东方'}
逻辑(Bool) //True(真) False(假)
变量可以变化,存放不同的东西
变量 //变量可以变化,存放不同的东西//pot = ‘辣椒’ listBox = ['盐','芝麻', '花椒']
3.流程控制
流程控制主要分为分支和循环。分支结构是根据不同的条件,执行不同的语句,而循环结构是根据指定的条件,重复执行某段代码。
分支结构
if(fire == '大火'): #注意有冒号print('翻炒10下') #注意冒号下的分支程序要 Tab键缩进
else: print('翻炒20下')
循环结构
count=0
while(count<10):count=count+1print("徐鲸鱼"+str(count))
4.函数
Python使用def开始函数定义,紧接着是函数名,括号内部为函数的参数,内部为函数的具体功能实现代码。如果想要函数有返回值, 在expressions中的逻辑代码中用return返回。函数的格式如下:
def function_name():expressions
简单的两个数求和函数:
def fun_add(a,b):c=a+bprint("the answer is",c)
假如求7+8的结果,调用函数fun_add(7,8),运行结果如下:
wzy@wzy-virtual-machine:~$ /bin/python3 /home/wzy/newpython.py
the answer is 15
5.类
类(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
6.库
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
7.输入输出
数据输入并查看类型
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
8.异常
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
9.语法识别
#//---关键字(保留字) --> 保留字不能用作常数或变数,或任何其他标识符名称 ,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 + / ”
以上就是今天要分享的内容,未完待续!
点赞加关注,感谢您的资瓷!
【Python学习笔记(一)—— 初识Python】相关推荐
- Python学习笔记:使用Python操作数据库
Python学习笔记:使用Python操作数据库 一.数据库编程接口 为了对数据库进行统一的操作,大多数语言都提供了简单的.标准化的数据库接口(API).在Python Database API 2. ...
- Python学习笔记:用Python获取数据(本地数据与网络数据)
Python学习笔记:用Python获取数据(本地数据与网络数据) 一.用Python获取本地数据 读写文件(三种基本模式:r, w, a) 1.写文件 2.读文件
- python学习笔记26(python中__name__的使用)
python学习笔记26(python中__name__的使用) 在python中,每个py文件都是一个模块,也都是一个可执行文件,即包含main方法.因此,对每个py文件,可以单独运行,也可以imp ...
- python学习笔记1之-python简介及其环境安装
python学习笔记之-python简介及其环境安装 最近几年python之火不用多说,最近开始利用时间自学python,在学习的过程中,按照自己的思路和理解记录下学习的过程,并分享出来,如果正好你也 ...
- 【Python学习笔记】1.Python简介
本系列为自己学习Python的笔记,如有误,欢迎大家指正. Python介绍 简介 Python是一种解释型.面向对象的语言.由吉多-范罗苏姆(Guido van Rossum)于1989年发明,19 ...
- Python学习之路—初识Python
如果让你从数百种的编程语言中选择一个入门语言? 你会选择哪一个?是应用率最高.长期霸占排行榜的常青藤 Java? 是易于上手,难以精通的 C? 还是在游戏和工具领域仍占主流地位的 C++? 亦或是占据 ...
- Python学习笔记2-搭建Python开发环境
1 Python开发环境概述 所谓"工欲善其事,必先利其器".在正式学习Python开发前,需要先搭建Python开发环境.Python是跨平台的开发工具,可以在多个操作系统上进 ...
- python学习笔记六 初识面向对象上(基础篇)
python面向对象 面向对象编程(Object-Oriented Programming )介绍 对于编程语言的初学者来讲,OOP不是一个很容易理解的编程方式,虽然大家都知道OOP的三大特性是继承. ...
- Python学习笔记:初识Tushare
文章目录 一.Tushare概述 二.安装Tushare 1.安装Tushare 2.导入Tushare,查看版本 三.获取历史行情数据 1.get_hist_data()函数 (1)参数说明 (2) ...
- Python学习笔记-WXPY初识
项目地址:https://github.com/youfou/wxpy 帮助文档:https://wxpy.readthedocs.io/zh/latest/index.html 安装:pip ins ...
最新文章
- Velocity笔记--使用Velocity获取动态Web项目名的问题
- gcc for Windows 开发环境介绍
- MapReduce数据连接
- 3.2 选择最可能的句子-深度学习第五课《序列模型》-Stanford吴恩达教授
- R运行大数据的过程中遇到的问题:不能有负长度矢量
- 使用握手信号实现跨时钟域数据传输
- C++二维数组作为函数参数
- opencv-api boundingRect
- RT-Thread Nano移植
- Java内部类(摘自Java就业培训教程)
- 河南大学计算机网络考试试卷,计算机网络试卷.doc
- python批量检索文献_导师每天都让查文献,如何才能快速查找文献呢?
- 立波 iphone3gs越狱教程:成功把iphone3gs手机升级成ios6.1.3系统,完美越狱,解决no service和耗电量大的问题...
- 安全架构--2--关于企业安全体系建设历程的思考
- 降维中信息的损失对聚类结果的影响图形化表示
- 重量级锁 synchronized
- 乌合之众-大众心理研究(五)
- Excel如何在姓名与字母之间加空格
- DGV:人类基因组结构变异数据库
- 石大师装机大师怎么重装系统
热门文章
- Linux chown命令学习
- 上大学究竟是来干什么的 为什么会这样
- 赛门铁克盘点近期勒索软件犯罪档案
- FP-Tree的Python实现
- 指令集创始人潘爱民受邀出席CCF系统软件技术论坛,探讨泛在操作系统技术发展...
- NR 物理层 卷积 狄拉克函数八讲1-狄拉克函数定义Delta Function
- 机器学习图像分割——模型评价总结(含完整代码)
- YX133具有12位ADC与16位PWM的8位OTP单片机,SOP和QFN小封装单片机适合电子烟等便携产品使用
- [转]杂谈如何绕过WAF(Web应用防火墙)
- 64位系统装32位的Python,Python version 3.5 required, which was not found,DLL load failed