python的入门学习(本笔记仍在不断修改中)
python入门基础学习
本文是在bilibili上随便找的课记下的笔记
2022/12/20
01、python相关下载指引
后续补
02、python中的文件解说
1、下载python后会有四个文件:
- IDLE:python自带的简单的开发环境
- python 3.8(64-bit):命令行交互式程序
- Module Docs:已安装模块的文档
- Manuals:官方技术文档
2、编写第一个python代码:
(1)可以把下载好的IDLE打开,输入简单的代码(比如一行代码)就可以在这里输入,例如下面就输入了
# 第一行输入后需要回车
a = '你好呀!'
# 第二行输入后需要回车
print(a)
可以看到程序打印了一个“你好呀!”
(2)如果需要输入多行代码就可以ctrl+N(File->New File),这个这时候就会弹出一个新窗口
- 同样在里面输入同样的代码。
- 然后点击Run中的Run Module(或直接按F5)就可以跑程序
- 出现一个提示“保存源”,点击确认后选好保存地址就可以
- 这里我选择放在“桌面”保存
- 于是桌面出现了以下的图标:
- 并且程序出现了运行结果
3、命令行的也可以通过命令直接编写程序
03、第三方开发环境PyCharm安装
(后续补充)
PyCharm: the Python IDE for Professional Developers by JetBrains
04、在PyCharm中编写python代码
(1)首先创建一个项目
翻译:
#这是一个示例Python脚本。
#按Shift+F10执行它或用你的代码替换掉这行注释。
#按双Shift键搜索所有的类,文件,工具窗口,操作和设置。
#按Ctrl+F8切换断点。
#在https://www.jetbrains.com/help/pycharm/上查看PyCharm帮助
(2)在项目中创建python文件
双击创建好的python项目,点击New中的Python File
给python程序文档命名回车即可
05、运行(run)python程序
输入和上文一样的代码
第一段python程序
a = '你好呀!'
print(a)
然后运行程序的快捷键run是Alt+shift+F10,当然也可以在上方工具栏里面寻找
06、模板设置
这个模板可以在每次编写程序的开头,自动显示一段“程序说明”和“编写时间”
07、“快速注释”快捷键
08、“在文件查找”快捷键
2022/12/20
01、输出函数print,注意没有f……
(1)输出内容
数字:print(314)、print(98.5)
字符串:print(‘abcd’)、print(“abcde”)都可以
含有运算符号表达式:print(3+1)直接运算输出4
(2)打开本地的文件open函数
fp = open('C:/Users/DELL/Desktop/py_测试', 'a+')
print('hello', file=fp)
fp.close()
(3)不换行与换行输入
#不换行
print(‘hello’,‘word’,‘Python’)
#换行
print(‘hello’)
print(‘word’)
print(‘Python’)
注意:print会自动换行,内不内容倒是可以用\n换行
02、使用注释
(1)注释方法一:
# 这是一段注释
(2)注释方法二:
'''
这也是一段注释
'''
03、转义字符
(1)\t要注意4字符为一表格(占满则不会执行)
(2)其他的转义字符
print('http:\\\\www.baidu.com')
print('我说\"您好!\"')
# 不希望字符串中的转义字符起作用可以在字符串最前面加上r或者R
print(r'我说\"您好!\"')
# 因此就可以将上面的语句改成如下语句(是最后一个字符不能是反斜线,但是可以两个)
print(r'我说:“您好”')
print(r'我说:“您好”\\')
04、文件打开函数
fp = open('C:/Users/DELL/Desktop/py_测试', 'a+')
print('hello', file=fp)
fp.close()
05、利用二进制编码输出一个汉字和其逆运算
print(chr(0b100111001011000))
# 注意输入这个0b才是二进制数
# 输出了一个“乘”
print(ord('乘'))
# 输出“20056”刚好是二进制100111001011000的十进制值
06、python的标识符和保留字
(1)保留字:不可用这些保留字来命名
import keyword
print(keyword.kwlist)
# 就可以看到保留字的具体有哪些
(2)标识符:变量、函数、类、模块和其他对象起的名字就叫标识符
(命名的规则:字母、下划线、数字,不要以数字开头,不能是保留字,严格区分大小,有意义)
07、变量的定义和使用(还有两个内置函数的使用)
格式是:name=‘内容’/数字
num = 234
id(num) # 获取内存地址/标识(id)
type(num) # 获取类型(type)
print(num) # 获取值(value)
2022/12/22
01、变量的多次赋值
当变量多次赋值后,变量名会指向新的空间。原先定义的会变成内存垃圾(后续有python的垃圾回收机制)
02、python的数据类型
(1)整形int:可以是正数、负数和零
(2)浮点数类型float:小数,不精确的解决方法是导入模块Decimal
from decimal import Decimal
print( Decimal(' 1.1 ')+Decimal(' 2.2 ') )
(3)布尔值bool(boolean):True(1)和False(0)
(4)字符串类型str(我才发现可以使用三引号)
①字符串又被称为不可变的字符序列
②单引号和双引号都必须在同一行,三引号可以分布在连续多行
str1='abcd'
str2='''nihao,
hehe'''# 注意这是会换行的
03、类型转化函数
- 在python中,类型在一定程度上可以相互转换。
类型的存在体现在不能同时连接打印不同类型的例子:
name='张三'
age=20
print(type(name),type(age))
print('我叫'+name+'今年,'+age+'岁')# 这个会发生报错的,因为类型是不同的
解决方案(利用int()\float()\str()三个函数即可)
print('我叫'+name+'今年,'+str(age)+'岁')
注意:+号是连接符号,不是算术运算符
注意①:int()对浮点数转化为整数(抹零取整),其中文字类和小数类字符串,无法转换为整数(只有整数字符串可以转换,但是浮点可以抹零取整)
注意②:float()能整数转化为浮点数,末尾添加.0
注意③:不用str()的同时,也可以用引号转换为字符类型
04、python的注释
(1)#开头的注释(单行注释)
(2)一对三引号 ‘’‘你好’‘’ 之间的代码叫做(多行注释)
(3)中文编码声明注释,设置字符集(另外python的文件编码默认是UTF-8)
#coding:gdk
# 这样就可以用“中文编码声明注释”,修改成字符集ANSI了
05、输入函数input
input可以接受用户的输入,返回值类型是str
present=iput('你好,你叫什么名字呢?')
print(present)
# 后面的东西是提示输入
a=input('请输入一个加数')
b=input('请输入另一个加数')
print(type(a),type(b))
print(a+b)
# 注意从这里就可以看出,a,b的输入并不是整形,而是作为字符而输入了
# 另外如果在print中直接用+,+会起到连接符的作用,而不是相加,应该改成下面的代码
a=input('请输入一个加数')
a=int(a)
b=input('请输入另一个加数')
b=int(b)
print(type(a),type(b))
print(a+b)
a = int(input('请输入一个加数'))
b = int(input('请在输入一个被加数'))
print(a, '+', b, '=', a+b)
06、python的操作符
(1)算术运算符
- 标准算术运算符:+、-、*、/、/(整除)
- 取余运算符:%
- 幂运算符:**(幂运算)
注意:要注意%的负数的情况,余数=被除数-除数*商(这个商是貌似是向下取整数得出来的……)。例如9%-4就是9-(-4)*(-3)=-3
注意:整除的时候也要考虑负数的问题,9//-4=-3,-9//4=-3(一正一负向下取整)
(2)赋值运算符(从右到左的顺序)
- 支持链式赋值:a=b=c=20
- 支持参数赋值:+=、-=、*=、/=、//=、%=
- 支持系列解包赋值:a,b,c=20,30,40
(3)比较运算符:
- >、<、>=、<=、!=(其结果也是返回布尔值值为True和False)
- ==(比较value)
- is、is not(比较对象的id)
注意:比较值使用比较标识使用is,如果a=10,后面再创建一个b=10依旧保持id不变。(这与C语言完全不同)
(4)布尔值运算符
- and(均为真才真)
- or(有真即可真)
- not(反转真假)
- in(在其中)
- not in(不在其中)
(5)位运算
- 位与&(对应数位是1,结果为1,否则为0)
- 位或 | (对应数位都是0,结果为0,否则为1)
- 左移位运算符<<(高位溢出舍弃,低位补0,相当与乘以2)
- 右移位运算符>>(低位溢出舍弃,高位补0,相当于除以2)
(6)优先级别(除去括号的情况)
算术运算符–位操作符–复合赋值运算符–布尔运算符–赋值符号
注意:二进制是0b,八进制是0o,十六是0x
2022/12/25
01、程序的“组织结构”和“顺序结构”
任何的简单或者的复杂逻辑都可以由顺序结构、选择结构、循环结构三种基本结构组合而成
注意:调试(shift+f5)的方法如下(也可以一遍切换到控制台来看),按f7可以不断往下一行
02、对象的布尔值
python的一切皆有对象,所有对象都有一个布尔值
(1)获取布尔值函数bool()
(2)以下对象的布尔值为false:
False、数值0、None、空字符串、空列表、空元组、空字典、空集合(五大皆空……)
03、分支结构
(1)单分支结构
if 条件:
(2)双分支结构
if 条件:
else:
(3)多分支结构
if ***:
执行语句
elif ***:
执行语句
elif ***:
执行语句
[else:]
执行语句
注意:在python之中,可以写数学表达式的不等式例如:1<num<2
(4)嵌套if的使用
就是在里面嵌套就是了,除了if-else本身的写法不太一样,理解上没有区别,并且注意:python十分依赖空格和换行,代码风格要好。
04、条件表达式
(1)条件表达式是if…else的简写
(2)语法结构
x if 判断条件 else y
print((num_a, '大于等于', num_b) if num_a>=num_b else (num_a, '小于', num_b))
有了条件表达语句,能简化一些写法。有点类似C语言的三目操作符
05、pass语句
pass语句什么都不做,只是一个占位符,用在语法上需要语句的地方。
还没想好代码怎么写的时候可以使用,利用pass来搭建结构,类似C语言的“;”空语句。
06、range函数
内置函数rang,用于生成一个整数序列
(1)range(stop),创建一个[0,stop)之间的整数序列,步长为1
(2)range(start,stop),创建一个[start,stop)之间的整数序列,步长为1
(3)range(start,stop,step),创建一个[start,stop)之间的整数序列,步长为step
返回值是一个迭代器对象
print(list(a)) # 可以查看完整的整数序列
range的优点,不管range的对象表示的整数序列有多长,所有的range对象占用的内存空间都是相同的,因为只需要存储start、stop和step,只有当用到range对象时,才会去计算序列中的相关元素
另外,in和not in可以检查是否存在某一个指定的整数
07、两种循环
(1)while循环
while 条件表达式:
条件执行体
# 例如:
a=1
while a<10:
print(a)
a+=1
判断N+1次,条件为True执行N次(很类似多个if)
(2)for -in
for 自定义变量 in 可迭代对象(字符串、序列)
循环体
for item in 'Python':
print(item)
# 取出来每一个字符,赋值给了item
如果没有自定义变量可以用“_”顶替
for _ in range(5)
print('haha')
注意:有关python没有++的相关解说(忘记是从哪里截图的了……)