文章目录
- 前言
- python的起源
- 打印hello world
- 注释
- 变量
- 变量基本概念
- 类型
- 类型转换
- 运算符
- 字符串拓展
- 字符串的三种定义方法
- 字符串拼接
- 字符串格式化
- 数据输入input
- 比较
- 布尔类型和比较运算符
- if判断
- if else
- if elif else
- 嵌套
- 循环
- while循环
- while循环嵌套
- for循环
- range()的使用
- 函数的使用
- 函数的定义
- 函数参数
- 函数的返回值
- 函数返回值之None
- 多返回值
- 函数作为函数参数
- 文件操作
前言
python可以干什么:
- Web开发
- 数据科学——包括机器学习、数据分析和数据可视化
- 脚本编写
所以python是很强大的。
我们这节博客是python基础内容的第一节,后面我也会继续更新python的课程。
对C/C++/Qt感兴趣的同学也可以点击的我的主页进行查看。
C语言
C++
Qt
提示:以下是本篇文章正文内容,下面案例可供参考
python的起源
Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于1990年代初设计,作为一门叫做ABC语言的替代品。 [1] Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言, [2] 随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。 [3]
Python解释器易于扩展,可以使用C语言或C++(或者其他可以通过C调用的语言)扩展新的功能和数据类型。 [4] Python也可用于可定制化软件中的扩展程序语言。Python丰富的标准库,提供了适用于各个主要系统平台的源码或机器码。
打印hello world
使用print()
即可打印字符串.
print("hello world");
print('python');
注意:
1、在python中可以用双引号/单引号来表示一串字符串
2、在python中使用print后会自动换行,如果想主动换行,可以使用"\n"
注释
在python中的注释分为几种:
1、单行注释。 使用’#'号
2、多行注释。使用''''''
六个单引号
#我是单行注释
"""
我
是
多
行
注
释
"""
注释是不会被编译的。
变量
变量基本概念
变量是一个可以变的量,可能前一秒是a,下一秒就变成了b。
定义变量:变量名 = 变量值
name = 'CSDN'
age = 18
在上面,name为变量名,‘CSDN’为变量值。
打印变量的值:
print(内容1,内容2,…)
中间需要逗号隔开。
name = 'Name'
print('My name is ',name)
在变量中可以进行运算,如下:
money = 100
print(money)#100
money = money-10
print(money)#90
类型
- str:字符串
- int:整形—无小数
- flaot:浮点型—有小数
- bool:布尔型
str: 'hello world' "hello python"
int: 11 99
float: 12.12 99.99
bool True False
注意:bool类型的变量值只能为True/False。True为真,False为假。
判断变量的类型:type(变量名)
name = 'CSDN'
age = 10
print("name type:",type(name),"age type:",type(age))
输出:name type: <class ‘str’> age type: <class ‘int’>.我们现在看单引号里面的就可以。str,int。
类型转换
将x转换为int | int(x) |
---|---|
将x转换为float | float(x) |
将x转换为str | str(x) |
print(type('10'),type(int('10')))
输出:<class ‘str’> <class ‘int’>
运算符
基础运算符
- 加
- 减
- 乘
/ 除
% 取模 - 返回除法的余数
** 幂 - 返回x的y次幂
// 取整除 - 返回商的整数部分(向下取整)
/与//的区别:
/会算到小数点后面。
//只算到个位。
赋值运算符
=:把右边的东西,赋值到左边。
复合运算符
= 简单的赋值运算符 c = a + b 将 a + b 的运算结果赋值为 c
+= 加法赋值运算符 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
字符串拓展
字符串的三种定义方法
- 单引号法
- 双引号法
- 三引号法
str1 = 'str'
str2 = "str2"
str3 = """str3"""
引号的嵌套:
在双引号内加单引号:
print("我在\'csdn\'等你")
只要在引号前面加 \ 就可以
字符串拼接
1、使用+号
print('我在CSDN'+'等你')
不同的类型需要转换后才能使用。
字符串格式化
1、‘字符串%s’%需要格式化的字符串
print('我在%s'%'CSDN')
2、f+字符串{变量名}字符串
{}为占位符。
name = "CSDN"
print('hello {name}')
数据输入input
使用input()
即可输入,他需要一个变量接收值。
1、无提示:
name = input()
print(name)
2、有提示:
name = input("input your name")
print(name)
比较
布尔类型和比较运算符
判断在生活中有很多,没有他我们很多功能都无法实现:
密码判断。
等待…
布尔类型表示的是现实中的生活逻辑,即真/假
True表示真---->1
Flase表示假---->0
比较运算符
== 等于 - 比较对象是否相等 (a == b) 返回 False。
!= 不等于 - 比较两个对象是否不相等 (a != b) 返回 True。
> 大于 - 返回x是否大于y (a > b) 返回 False。
< 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量 True 和 False 等价。 (a < b) 返回 True。
>= 大于等于 - 返回x是否大于等于y。 (a >= b) 返回 False。
<= 小于等于 - 返回x是否小于等于y。 (a <= b) 返回 True。
print(10!=10)
print(10>5)
print(10>=9)
print(10>=10)
print(10!=99)
输出:
False
True
True
True
True
if判断
if判断的含义:相当于“如果…,那么”
if判断格式if 条件: 执行的语句
注意,在python中是以缩进来表示属于哪个地方的。
age = 18
if age >= 18:print('已经成年')
多条件判断:
关键字 | 作用 |
---|---|
and | 与 |
or | 或 |
- and—>条件必须全部为True,结果才为True。反之为False
- or —>条件有一个为True,结果就为True。
age = 25
if age>=15 and age <=40:print('是青年人')age2 = 3
money = 0
if age2 <= 5 or money >= 50:print('可以进游乐园')
if else
理解:
注意:如果if的条件为False,则执行else。如果if条件为True,则执行if。else不执行。
age = 10
if age >= 18:print("已经成年")
else:print("未成年")
打印:未成年
if elif else
理解:
使用:
**
if 条件:
动作
elif 条件:
动作
…
else:
动作
**
mouth = input('请输入现在的月份')
if mouth >= 3 and mouth <= 5:print('春')
elif mouth >= 6 and mouth <= 8:print('夏')
elif mouth >= 9 and mouth <= 11:print('春')
elif mouth >= 12 and mouth <= 2:print('冬')
else:print('请输入正确的月份')
嵌套
age = 3
VIP = 5
if age <=3:print('小于3岁')if VIP>=5:print('VIP等级大于5')else:print('VIP等级小于5')
else:print('大于3岁')
循环
while循环
循环的理解:
while循环的语法:while 条件:动作
示例:
i = 0
while i<100:print('小美,我喜欢你')i+=1
打印100个小美,我喜欢你。
案例:0+1+2+…+100
sum = 0
i = 0
while i<=100:sum+=ii+=1print(sum)
打印5050.
while循环嵌套
i = 0
while i<100:j = 0while j<10:print('送{j}支玫瑰花')j+=1print('小美,我喜欢你')i+=1print('表白了{i}天,表白成功')
for循环
for循环是一种轮询机制,是对一批内容逐个处理。
语法:for 临时变量 in 要处理的数据:动作
把要处理的数据一个一个放到临时变量里面。
临时变量是什么:
只在这个作用域有效,出了就没有了。
循环的作用域就是本循环的缩进所在的地方
name = 'CSDN'
for x in name:print(x)
打印:
C
S
D
N
range()的使用
语法:range(num)
从0开始,到num的一个序列,不包括num。
序列是什么:
就是一段连续的空间。
range(5)表示的是[0,1,2,3,4]
其他的range操作
操作 | 含义 |
---|---|
range(num1,num2) | 从num1开始取,不包括num2 |
range(num1,num2,step) | 从num1开始取,不包括num2,并且每两个数相差step步(默认为1) |
步step的含义:
和我们平时上楼梯差不多,一次几个台阶。
关于for循环的range:
for x in range(5):print(x)
打印的结果为:
0
1
2
3
4
如果我们需要指定循环次数,我们就可以这样指定了。
函数的使用
函数的定义
函数:组织好的,可重复使用的,用来实现特定功能的代码段。
在python中,使用def 函数名(函数参数): 函数体 返回值
来定义函数。
在下面我们不需要管函数参数,返回值
def myfun():print('my fun')
使用函数:
myfun()
函数参数
函数参数的功能:在函数计算时,接收外表的数据。
示例如下:
def add(x,y):print('result:'+str(x+y))add(10,20)#输出结果为30
函数调用:函数名(参数1,参数2....参数n)
注意,参数和参数之间需要用逗号隔开。def 函数名(参数1,参数2,...参数n)
函数的返回值
在python中使用return 返回值
返回出去。
需要注意的是:执行这条语句后,函数就退出了。不在执行下面的了,如下代码:
def r():语句1语句2return 1语句3语句4
在上面的代码中,只执行语句1,2,而不执行3,4.
示例如下:
def add(x,y):return x+yprint(str(add(10,20)))
打印的值为30.
函数返回值之None
None表示空的,没有的。可以用作函数没有返回值中。
使用场景:
def say_hi():print('hi')return Nonesay_hi()
在判断中,他相当于Flase.
如下:
def say_hi():print('hi')return Noneif say_hi():print("True")
else:print("False")
结果打印为False。
多返回值
形式:return 1,2,......n
如何进行接收:a1,a2....,an = 函数名()
def num():return 1,2,3x,y,z = num()#x = 1,y = 2,z = 3
接收到的值是按顺序的。
函数作为函数参数
def compute(x,y):return x+ydef func(Compute):print(str(Compute(1,2)))func(compute)
打印3
文件操作
使用open()函数打开文件,open(文件路径,打开方式,编码格式)
打开方式有:
- r模式:只读
- w模式:只写,而且为擦除写
- a模式:接着文件后面写
编码格式使用:encoding = "格式"
指定
open("D:/demo.txt","r",encoding = "UTF-8")
需要注意的是:文件路径一定要有,要不然会报错.
使用read()读取文件内容。
注意:模式要为r/a模式。
f.read()#读全部
f.read(n)#读指定字节数
f.readLine()#读一行,直到有\n
循环读文件:
for line in open("D:/demo.txt","r",encoding = "UTF-8"):print(line)
使用write()写文件:
注意:模式要为w/a模式。
write():写一个字符串。
flush():清空缓冲区。
f.write("hello world")
f.flush()
关闭文件:close()
.
不关闭文件的后果:会导致无法打开文件
自动关闭文件:
with open语法.
with open("demo.txt","r",encoding = "UTF-8") as f:f.readline()