**
Python基础操作
**
1.注释:
注释:注释的代码不会执行
注释的作用:增强了代码的可读性
Python注释分类:
单行注释:以#开头,#号后面的内容就是注释的内容
print(‘Hello World’)
Pycharm提供了单行注释的快捷键:ctrl+/
多行注释:又名“文档注释”,不是以#开头,是一对三引号
#三引号里面的内容就是注释的内容
"""
print(‘Hello World’)
print(‘Hello World’)
print(‘Hello World’)
print(‘Hello World’)
"""
2. 标准输出
标准输出:就是print(),就是将信息输出到控制台上
print('Hello World')
print()可以输出多个内容,多个内容之间需要以英文逗号进行分隔
print('Hello World','Hello World','Hello World')
print('Hello Python')
结果
Hello World Hello World Hello World
Hello Python
print()参数介绍:
1.sep:在输出的字符串之间插入指定的内容(字符)默认字符是空格
快捷键:按住ctrl点击函数->查看源代码
print(1,2,3,sep='----')
结果
1----2----3
2.end:默认是\n(换行),在输出语句的末尾加上指定的字符
print(1,2,3,end=' ')
print('Hello World')
结果
1 2 3 Hello World
3.file:默认是None,能够让print()输出的内容,输出到指定文件中
4.flush:是一个bool(布尔值),只有True或False
表示是否立即将输出的内容写到文件中,默认是False
**①:打开文件**
import time
fp = open('测试.txt','w') # fp文件对象
**②使用print()将字符串打印到文件中**
print('Hello World',file=fp)
time.sleep(5) # 5s后写入文件中
print('Hello World',file=fp,flush=True)
time.sleep(5)
3.标准输入
input()
input('请输入用户名:')
print(1)
注:input()会将程序进入阻塞状态,如果不进行输入,程序将不会继续向下进行
input()接收的是字符串,输出的也是字符串
age = input('请输入年龄:')
print(age)
type可以查看元素类型
print(type(age))
结果
<class 'str'>
4.变量
变量:在程序中变量就是存储数据的容器
例如:求长方形面积,长10,宽5 变量x、y、s
x = 10
y = 5
s = x*y
print(s)
结果
50
改变引用
一个变量可以进行多次赋值,对应内存中改变的是指向
x=100
x=50
print(x)
结果
50
变量的名字:是不固定的,我们可以自己定义,区分大小写,但是名字不能乱取,需要符合一定的规则
变量名的使用规范:
按照项目和企业要求来看:变量要做到见名知意,如果遇到两个或多个单词时,推荐使用_将单词分开
比如:快餐 fast_food
变量的语法规范
1.变量名是由数字、字母、下划线组成,并且数字不能开头
2.Python作为一门编程语言,其中会有一些表示特殊含义的单词,这些单词不能够当作变量来使用
标识符和关键字
标识符:就是变量
查看关键字
import keyword # 导入模块
print(keyword.kwlist) # 关键字列表
结果
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
变量的连续赋值
条件:需要保证变量的个数和值的个数一致
num1=1
num2=2
print(num1,num2)
->
num1,num2=1,2
print(num1,num2)
结果
1 2
交换两个变量的值
第一种方法:使用临时变量
num1=10
num2=20
temp=num1
num1=num2
num2=temp
print(num1,num2)
第二种方法:
num1=10
num2=20
num1,num2=num2,num1
print(num1,num2)
结果
20 10
5. Python的数据类型
Python的基本数据类型有6种
数值型
整数型(int)、浮点型(float)、布尔类型(bool,只有True和False)、复数(complex)
字符串(str)
字典(dict)
元组(tuple)
列表(list)
集合(set)
不可变集合(frozenset)
可变集合(set)
数值类型
复数:由实部和虚部组成
com = complex(1,2) # com=1+2i
print(com) # (1+2j)
数值类型的转换
1.int() 将数据转换成整数,不会四舍五入,只会取出整数部分
1.1将浮点数转换成整数
print(int(1.2)) # 1
print(int(1.9)) # 1
1.2将布尔类型转换成整数
print(int(True)) # 1
print(int(False)) # 0
1.3将字符串转换成整数
**注意:**如果想要将字符串转换成整数,必须保证字符串中每一位都是数字,否则无法转换
print(int('10')) # 10
print(int('1l0')) # 报错(值错误)
2.float() 将数据转换成浮点数
2.1 将整数转换成浮点数
大小不会改变,就是多了一个小数点
print(float(2)) # 2.0
2.2 将布尔类型转换成浮点型
print(float(True)) # 1.0
print(float(False)) # 0.0
2.3 将字符串转换成浮点型
注意:如果字符串中有字母肯定无法转换
print(float('10.9')) # 10.9
print(type(float('10.9'))) # <class 'float'>
3.bool() 将数据转换成布尔类型
非0(0、0.0、’’、[]、{})即True
print(bool(1)) # True
print(bool(0)) # False
print(bool(2)) # True
print(bool('0')) # True
print(bool(complex(0,0))) # False
6.运算符
运算符:(常用五种)
赋值运算符、算术运算符、比较(关系)运算符、复合赋值运算符、逻辑运算符、成员运算符
1.赋值运算符: =
age = 20 # 从右往左读
2.算术运算符:+、-、*、/ 、**(幂运算)、//(取整)、%(取余)
print(10//3) # 3
print(10%3) # 1
print(2**3) # 8
3.比较运算符:>,<,>=,<=,!=,==(作为判断)
比较运算符:通常用于判断语句和循环语句,返回值都是bool值(True/False)
4.复合赋值运算符:+=,-=,*=,/=,//=,%=,**=
例如:num+=1就是num=num+1
num=1
num+=1
print(num) # 2
5.逻辑运算符:and(逻辑与)、or(逻辑或)、not(非、取反)
print(1>2 and 2>3) # False
print(1>2 and 3>2) # True
注意:and 和 or 左右两侧必须都是比较运算符
1.and 两边必须两边都是True,结果才为True,只要有一个False,结果就是False
2.or 两边只要有一个为True,结果就为True,都是False才为False
not:取反 ,True取反–>False False–>True
6.成员运算符:通常和循环以及判断语句结合使用
in(在……里面)
not in(不在……里面)
7. 流程控制语句——分支控制语句
流程控制语句分为三部分:
1.顺序控制结构:代码就是一行一行从上到下运行的
2.分支控制(if)结构:
2.1 单分支结构
2.2 双分支结构
2.3 多分支结构
2.4 分支嵌套
3.循环控制结构
分支控制语句
单分支控制结构
格式:
if 条件表达式:(英文:)
符合条件表达式执行的代码
注意:条件表达式后面要有英文冒号,缩进一般为一个Tab键
练习:我有200元。我去买玩具,我需要对比玩具的价格和兜里的钱的大小
wanju = int(input('请输入玩具的价格:'))
money = 200
if money >= wanju:
print('我成功的买下了我心爱的玩具')
money -= wanju
print('还剩',money,'元')
双分支结构(if-else) 只会执行其中的一个分支
格式:
if 条件表达式1:
符合条件表达式执行的代码
else:
不符合条件表达式1所执行的代码
money = 200
wanju=int(input('请输入玩具价格:'))
if money >= wanju:
print('我买下了我心爱的玩具')
money -= wanju
else:
print('我买不起')
多分支结构(if-elif-else):if-elif-else只会执行之中一个分支的代码
格式:elif有几个都可以
if 条件表达式1:
符合条件表达式执行的代码
elif 条件表达式2:
不符合条件1但是符合条件2执行的代码
else:
不符合条件表达式1也不符合条件表达式2所执行的代码
练习:
我有10000元,买电视
电视价格在3000-6000元,我会直接购买
电视小于3000,电视太便宜,质量不过关,不买
电视在6000-10000元,我再考虑考虑吧
电视在10000元以上,肯定不买
money = 10000
TV_money = int(input('请输入电视价格:'))
if 3000 <= TV_money < 6000:
print('直接购买')
elif TV_money < 3000:
print('太便宜,不买')
elif 6000 <= TV_money <= 10000:
print('我再考虑考虑')
else:
print('肯定不买')
分支嵌套
格式:
if 条件表达式1:
符合条件表达式1执行的代码
if 条件表达式1.1:
符合条件表达式1并且符合条件表达式1.1执行的代码
elif 条件表达式1.2:
符合条件表达式1不符合条件表达式1.1并且符合条件表达式1.2执行的代码
elif 条件表达式2:
不符合条件表达式1符合条件表达式2执行的代码
else:
既不符合条件表达式1又不符合条件表达式2执行的代码
8.流程控制语句——循环控制语句
循环控制语句分为:while循环和for循环
for循环
不需要定义初始值
需要使用成员运算符
for循环格式
for 临时变量 in 可迭代对象:
循环体
可迭代对象:range()函数、字符串、列表、字典等等
range
举例:打印1-20之间所有的数
for i in range(1,21):
print(i)
range(start,stop,step)
区间:[start,stop) 左闭右开
参数:
1.start:代表起始值,默认值是0
2.stop:代表终止值,无默认值,不包含此值
3.step:代表步长,默认值是1
注意:range()至少要传一个参数,如果传一个参数,代表此参数是stop
例如:打印100以内的整数
for i in range(100):
print(i)
结果 输出 0-99
for i in range(1,20,5):
print(i)
# 1 6 11 16
总结:
range()有三种传参方式:
1.range(a):a相当于stop 区间:[0,stop) 步长是1
2.range(a,b): a相当于start,b相当于stop 区间:[a,b) 步长是1
3.range(a,b,c): a相当于start,b相当于stop,c相当于step 区间:[a,b) 步长是c
range()的参数可以为正,可以为负
步长的正负,可以理解成坐标轴的正负方向
for i in range(1,3,-1):
print(i)
# 什么都不打印
for i in range(3,1,-1):
print(i)
# 3 2
for循环的另一种结构
for-else结构
如果循环正常退出(没有执行break),会执行else代码
如果循环不正常退出(有执行break),则不会执行else代码
for i in range(1,6):
print(i)
else:
print('执行了else的代码')
控制循环的关键字:break(中止,强制退出循环) 和 continue(继续,退出本次循环)
break:
for i in range(1,10):
if i==7:
break
else:
print(i)
# 1-6
continue:
for i in range(1,10):
if i==7:
continue
else:
print(i)
# 1-6 8-9
for i in range(1,6):
if i==6:
break
else:
print(i)
else:
print('执行了else语句')
# 1-5 执行了else语句
for循环的循环嵌套:先运行外层循环,在运行内层循环
格式:
for 临时变量1 in 可迭代对象:
循环体
for 临时变量2 in 可迭代对象:
循环体
调式:打上断点 bebug
for i in range(1,9): # 外层循环
for j in range(1,4): # 内层循环
print(j)