Python学习笔记—基础部分
python解析器
Python解释器种类:
-
CPython,C语⾔开发的解释器[官⽅],应⽤⼴泛的解释器。
-
IPython,基于CPython的⼀种交互式解释器。
-
其他解释器
1.PyPy,基于Python语⾔开发的解释器。
2.Jython,运⾏在Java平台的解释器,直接把Python代码编译成Java字节码执⾏。
3.IronPython,运⾏在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。
PyCharm是⼀种Python IDE(集成开发环境)
一、python注释
1.1 注释的分类
单⾏: # 注释内容 ,快捷键ctrl+/
多⾏: “”" 注释内容 “”" 或 ‘’’ 注释内容 ‘’’
二、python变量
变量的作用:存储数据
2.1 标识符
标识符命名规则:
- 由数字、字⺟、下划线组成
- 不能数字开头
- 不能使⽤内置关键字(保留字)
- 严格区分⼤⼩写
2.2 定义变量:
变量名 = 值
2.3 bug
2.3.1 debug工具
debug是pycharm IDE中集成的用来调试程序的工具,查看程序执行细节
debug使用步骤:
1.打断点
断点位置:目标要调试的代码块的第一行代码,即一个断点即可
打断点方法:单机代码行号右侧空白位置
2.debug调试
三、数据类型
- 数值:int(整型)、float(浮点型)
- 布尔型:true、false —判断使用 (b = True)
- str(字符串)—特点:数据都要带引号 (a = ‘hello world’)
- list(列表) —特点:用[] 中括号 表示 (c = [10,20,30])
- tuple(元组)—特点:用()小括号表示 (d = (10,20,30))
- set(集合)—特点:用{}大括号表示 (e = {10,20,30})
- dict(字典/键值对)—特点:(f = {‘name’:‘Tom’,‘age’:10})
查看数据类型ex:
num1 = 1
num2 = 1.1
print(type(num1))
print(type(num2))
输出内容:<class ‘int’> <class ‘float’>
四、输出—格式化
4.1格式化符号:
格式符号 | 转换 |
---|---|
%s | 字符串,也可以用来输出整型、浮点型 |
%d | 有符号的十进制整数(包含正负整数所有) |
%f | 浮点数 |
%c | 字符 |
%u | 无符号十进制整数(只能格式化输出正整数) |
%o | 八进制整数 |
%x | 十六进制整数(ox) |
%X | 十六进制整数(OX) |
%e | 科学计数法 |
%E | 科学计数法 |
%g | %f和%e的简写 |
%G | %f和%E的简写 |
技巧:
%.2f:表示小数点后显示的小数位数(两位)
%03d:表示输出的整数显示位数,不足用0补全,超出当前位数则原样输出
ex:
#格式化输出
age = 18
name = "Tom"
weight = 50.5
id1 = 1
id2 = 10000
#格式化输出整数:%d
print('我的年龄是%d岁' %age)
print('我的学号是%03d' %id1)
print('我的学号是%03d' %id2)
#格式化输出字符串:%s
print('我的名字是%s' %name)
#格式化输出浮点数:%f(默认保留六位小数点) %.nf(n是整数,如%.2f即表示保留两位小数)
print('我的体重是%.2f' %weight)
#组合输出
print('我的名字是%s,明年是%d岁' %(name,age+1))
#%s也可以用来输出整型、浮点型
print('我的名字是%s,年龄是%s,体重是%s' %(name,age,weight))
更简洁的方式:f-格式化字符串(python3.6新增)
格式化字符串除了%s,还可以写成f’{表达式}'
#f'{}'
print(f'我的名字是{name},今年{age}岁了')
4.2转义字符
\n:换行
\t:制表符 一个tab键(四个字符)的距离
4.3结束符
在python中print()默认自带end="\n"这个换行结束符
可以改成其他的字符结束符
print("hello",end="\t")
print("hello",end="\n")
五、输入
当程序执行到input,等待用户输入,输入完成后继续向下执行
在python中,input接收用户输入后,一般存储到变量,方便使用
在python中,input会把接收到的输入的数据都当成字符串处理
#输入
password = input('请输入密码:')
print(f'您输入的密码是{password}')
5.1转换数据类型
input接收的数据都是字符串类型,若要接收其他类型则要转换数据类型
转换数据类型的函数
函数 | 说明 |
---|---|
int(x [,base ]) | 将x转换为⼀个整数 |
float(x ) | 将x转换为一个浮点数 |
complex(real [,imag ]) | 创建⼀个复数,real为实部,imag为虚部 |
str(x ) | 将对象 x 转换为字符串 |
repr(x ) | 将对象 x 转换为表达式字符串 |
eval(str ) | 自动识别转换字符类型 |
tuple(s ) | 将序列 s 转换为⼀个元组 |
list(s ) | 将序列 s 转换为⼀个列表 |
chr(x ) | 将⼀个整数转换为⼀个Unicode字符 |
ord(x ) | 将⼀个字符转换为它的ASCII整数值 |
hex(x ) | 将⼀个整数转换为⼀个⼗六进制字符串 |
oct(x ) | 将⼀个整数转换为⼀个⼋进制字符串 |
bin(x ) | 将⼀个整数转换为⼀个⼆进制字符串 |
#int---转换为整型
num3 = input('请输入数字:')
print(type(int(num3))) #int
#float---转换为浮点型
num4 = 1
str1 = '10'
print(type(float(num4))) #输出内容:<class 'float'>
print(float(num4)) #输出内容:1.0
print(float(str1)) #输出内容:10.0
#str---将数据转换成字符串
print(str(num4))
#tuple---将一个序列转换成元组
list1 = [10,20,30]
print(tuple(list1)) #(10,20,30)
#list---将一个序列转换成列表
t1 = (100,200,300)
print(list(t1)) #[10,20,30]
#eval---自动识别转换字符类型
str2 = '1'
str3 = '(1,2,3)'
print(type(eval(str2))) #int
print(type(eval(str3))) #tuple
pycharm交互式开发:python console —自动执行代码(不用加print)
开发环境下的代码临时存储在内存中,不会真实地写入到硬盘,所以复杂的开发还是需要新建.py文件,.py文件直接把代码写入到硬盘留存
六、运算符
6.1 运算符的分类
- 算数运算符
- 赋值运算符
- 复合赋值运算符
- 比较运算符
- 逻辑运算符
(1) 算术运算符
运算符 | 描述 |
---|---|
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
// | 整除 |
% | 取余 |
** | 指数 |
() | 小括号,用来提高优先级 |
混合运算优先级:小括号>指数>乘、除、整除、取余>加、减
(2) 赋值运算符
赋值[=] :将=右侧的结果赋值给等号左侧的变量
单个变量赋值:num = 1
多个变量赋值:num1,float,str1 = 10,0.5,‘python’
多变量赋相同的值:a = b = 100
(3) 复合赋值运算符
运算符 描述 实例
运算符 | 描述 | 实例 |
---|---|---|
+= | 加法赋值运算符 | c += a等价于 c = c + a |
+= | 加法赋值运算符 | c += a 等价于 c = c + a |
-= | 减法赋值运算符 | c -= a 等价于 c = c- a |
*= | 乘法赋值运算符 | c *= a 等价于 c = c * a |
/= | 除法赋值运算符 | c /= a 等价于 c = c / a |
//= | 整除赋值运算符 | c //= a 等价于 c = c // a |
%= | 取余赋值运算符 | c %= a 等价于 c = c % a |
**= | 幂赋值运算符 | c ** = a 等价于 c = c ** a |
例:
d=10
d*=1+2 #结果为30,即先算符合运算符右边的运算再进行复合赋值
(4) 比较运算符
运算符 | 描述 |
---|---|
== | 判断相等 |
!= | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
(5) 逻辑运算符
运算符 | 描述 |
---|---|
and | 布尔"与" |
or | 布尔"或" |
not | 布尔"非",取反 |
拓展:
- and运算符,只要有一个值为0,则结果为0,否则结果为最后1个非0数字
- or运算符,只有所有的值为0结果才为0,否则结果为第1个非0数字
ex:
a = 0
b = 1
c = 2
print(a and b) #输出:0
print(b and c) #输出:2
print(a or b) #输出:1
print(c or b) #输出:2