ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# Python3基础 * [执行Python代码](http://brtc.imsam.cn/1372877#Python_5) * [输出/打印内容 print()](http://brtc.imsam.cn/1372877#_print_10) * [数据类型](http://brtc.imsam.cn/1372877#_27) * [字符串常用方法](http://brtc.imsam.cn/1372877#_57) * [变量](http://brtc.imsam.cn/1372877#_125) * [算术运算(只能够用在数字与数字之间)](http://brtc.imsam.cn/1372877#_185) * [input() 接受用户的输入](http://brtc.imsam.cn/1372877#input__204) * [常见比较操作符](http://brtc.imsam.cn/1372877#_210) * [if...else语句](http://brtc.imsam.cn/1372877#ifelse_220) * [循环](http://brtc.imsam.cn/1372877#_278) * [continue 与break](http://brtc.imsam.cn/1372877#continue_break_333) * [异常处理](http://brtc.imsam.cn/1372877#_383) * [词典(键值对)](http://brtc.imsam.cn/1372877#_402) * [for循环](http://brtc.imsam.cn/1372877#for_456) Python的脚本后缀名是以`.py`结尾的 ![](https://img.kancloud.cn/88/ec/88ec6da0a1e0db82295ae9ea473cb3da_270x316.png) > ### 执行Python代码 在dos界面,输入命令 `python 需要执行的py文件` ![](https://img.kancloud.cn/25/39/2539503a2b1c096a82cbb28d42f0302c_611x78.png) > ### 输出/打印内容 print() ~~~ print('李四') print(5) ~~~ * 修改print() 结束符 print默认是以\\n换行为结尾 如果需要修改print的结束符,在print最后增加,end='以什么结尾' print(需要输出的内容,end='') ~~~ print('hello',end='>>>>>>>>>') print('world',end='\t') print('python',end='<<<<<<<<<<<<') ~~~ > ### 数据类型 在Python3中基本的数据类型有三个 * 字符串 str * 整型 int * 浮点型 float 字符串使用引号引起来 注意一下必须是用成对成对的引号引起来,也就是以什么引号开头,就要以什么引号结尾。 ~~~ '张三' "张三" '''张三''' """张三""" ~~~ * 数据类型之间的转换 > str() 转换成字符串 int()转换成整型 float()转换成浮点型 ~~~ a = '5.6' a = int(a) print(type(a)) print(a) ~~~ 1. int类型 和float类型可以转换成str数据类型 2. str类型不一定可以转换成int 或者 float类型 3. int 和 float 可以互相转换 > ### 字符串常用方法 * 获取字符串的长度 len() ~~~ lenth = len(a) print(lenth) ~~~ * split()分割字符串 ~~~ a = '23462346@qq.com' # 切割字符串,将字符串切割成列表 qqnum = a.split('@') print(qqnum) ~~~ * 读取字符串的某一个字符 读取长度\[下标\],下标从0开始 ~~~ bingo = a[3] print(bingo) ~~~ * 拼接 (只能够用在字符串与字符串之间) ~~~ b = 'hello,' c = b+a print(c) ~~~ * 多倍运算 (只能够用在字符串与整数之间) ~~~ print(a*5) ~~~ * 格式化输出字符串 ~~~ name = '李四' age = 18 nation = '汉族' location = '深圳市' msg = '你好,我是{0},我今年{1}岁,我是{2}人,来自{3}'.format(name,age,nation,location) print(msg) ~~~ * 转义字符 `\n >>> 换行 \t >>> tab键` ~~~ # 如果我想打印出来的是"随便打\n印一\t行字符串" print('随便打\\n印一\\t行字符串') print(R'随便打\n印一\t行字符串') ~~~ * 判断 in /not in ,如果成立,则返回True 否则返回False ~~~ a = 'world' result = 'or' in a ~~~ * and /or ~~~ # result1 = 'o' in a or 'asdb' in a result1 = 'o' in a and 'asdb' in a print(result1) ~~~ * * * > ### 变量 在Python定义变量其实就是给一个值取一个名字,或者**给某一个变量赋值** ~~~ name='张三' ~~~ 讲变量之前,我们先来看一看这一段代码,这个代码的意思就是说把张三这个字符串给到了name,把一个值(张三)赋值给一个名字(name)。变量名就像我们现实社会的名字,把一个值赋值给一个名字时,称之为变量(variable),在大多数语言中,都把这种行为称为“给变量赋值”或“把值存储在变量中”。 定义变量使用=定义,=左边的是变量名,=右边的是变量的值 ~~~ 变量名=变量值 ~~~ 1. 在使用变量之前,需要定义变量。 2. 变量名可以包括字母、数字、下划线,但变量名不能以数字开头。 3. 字母可以是大写或小写,但大小写是不同的。 4. 等号(=)是赋值的意思,左边是名字,右边是值,不可写反咯。 5. 变量的命名理论可以取任何合法的名字,但作为一个优秀的程序员,请将尽量给变量取一个专业一点儿的名字 6. 变量名应当避开Python的关键字/保留字 * * * * 删除变量`del` ~~~ a = 15 del a ~~~ * 查看变量数据类型 type() ~~~ a = 15 b = 1.5 c = '1.5' print(type(a)) print(type(b)) print(type(c)) ~~~ * 同时定义多个变量相同的值 ~~~ a = b = c = 5 print(a) print(b) print(c) ~~~ * 同时定义多个变量不同的值 ~~~ a,b,c = 3,4,7 print(a) print(b) print(c) ~~~ > ### 算术运算(只能够用在数字与数字之间) * 加法`+` * 减法`-` * 乘法`*` * 除法`/` * 地板除`//` * 求余数除法`%` * 幂运算`**` ~~~ print(b+c)#加法 print(b-c)#减法 print(b*c)#乘法 print(b/c) #除法 print(b//c)#地板除 求整数部分 print(b%c)#求余数的部分 print(b**c)#幂运算 b的c次方 ~~~ * * * > ### input() 接受用户的输入 ~~~ name = input('请输入您的姓名:') print('您输入的是{0}'.format(name)) ~~~ > ### 常见比较操作符 | 符号 | 含义 | | --- | --- | | \== | 相等/等于 | | <= | 小于等于 | | \>= | 大于等于 | | < | 小于号 | | \> | 大于号 | | != | 不等于 | > ### if...else语句 ![](https://img.kancloud.cn/bb/f0/bbf02ab044f070b70953c697c98818a6_790x329.png) 在冒号后:下一行后带有**缩进**,缩进是Python核心,Python就是通过缩进来控制代码的。 缩进(一个tab/四个空格) 不可以混着用.。 假设 用户名 为admin,密码为 admin123,写一个程序判断用户是否登录成功 ~~~ username = input('请输入用户名') password = input('请输入密码') if username == 'admin' and password == 'admin123': print('登录成功') print('正在进入程序。。。。') else: print('用户名或密码错误') print('登录失败') ~~~ 那如果有多个条件需要判断,则需要使用elif语句 语法: ~~~ if 条件1: 条件1成立时执行 elif 条件2: 条件2成立时执行 elif 条件3: 条件3成立时执行 elif 条件4: 条件4成立时执行 else: 所有条件都不成立,才执行 ~~~ 比如:根据分数判断等级 81 - 100 >>>> A 60 - 80 >>>> B 40 - 59 >>>> C 0 - 39 >>>> D 不在0-100 之间 >>> 输入错误 ~~~ score = int(input('请输入分数')) if 81 <= score <= 100: print('A') elif 60 <= score <=80: print('B') elif 40 <= score <=59: print('C') elif 0 <= score <=39: print('D') else: print('输入错误') ~~~ > ### 循环 * while 循环 语法: ~~~ while 条件: 循环内容 ~~~ 1. 当**条件为True**的时候,才会执行循环内容 2. 每一次循环结束,会再次**检查条件是否成立** 3. 使用while循环一定要控制好条件,否则容易出现死循环 ~~~ # 定义次数为3 times = 3 while times > 0: print('当条件成立时') print('执行while循环') print('每一次循环结束的时候,会再一次检查条件是否成立') times = times - 1 ~~~ 优化猜数字游戏 ~~~ num = 8 # 定义次数为3 times = 3 while times > 0: guess = int(input('请输入1-10之间的整数')) if guess == num: print('猜对了') times = -999 elif guess > num: print('大了') else: print('小了') times = times - 1 ~~~ 1+2+3+4+...100的和 ~~~ # 定义和等于0 sums = 0 num = 1 # 从1开始加 while num <=100: sums = sums + num num = num +1 print(sums) ~~~ ### continue 与break 1. continue 跳出循环,并且开始下一次的循环 2. break 终止循环 ~~~ index = 1 while index < 10: print(index) if index == 5: print('执行continue语句') continue index = index + 1 print('>>>>>>>>>>>>>>>>>>>>>>>>>') ~~~ ~~~ index = 1 while index < 10: print(index) if index == 5: print('执行break语句') break index = index + 1 print('>>>>>>>>>>>>>>>>>>>>>>>>>') ~~~ 结合break与continue优化猜数字游戏 ~~~ num = 8 # 定义次数为3 times = 3 while times > 0: guess = int(input('请输入1-10之间的整数')) if guess < 1 or guess > 10: print('输入错误') continue elif guess == num: print('猜对了') break elif guess > num: print('大了') else: print('小了') times = times - 1 ~~~ > ### 异常处理 ~~~ try: print('这是try语句的内容') int('aaaa') print('try语句报错,就直接跳转执行except语句') except: print('这是except语句的内容') print('只要当try语句中的内容报错了') print('才会执行except语句') try: num = float(input('请输入一个小数')) num2 = int(num+0.5) print('您输入的是{0},四舍五入后为{1}'.format(num,num2)) except: print('输入错误') ~~~ > ### 词典(键值对) 一个键(key)对应一个值(value),是一个一一对应的数据类型 词典用{}表示,词典中的每一对用,分隔开。键与值之间用:对应 key/键是唯一的 ~~~ a = {'中国移动':10086,'中国联通':10010,'中国电信':10000} ~~~ * 读取词典的内容,通过key来读取 ~~~ print(a['中国移动'])# 如果读取的key不存在,会报错 print(a.get('中国移动'))# 如果读取的key不存在,则返回None ~~~ * 判断词典中是否存在这个key 使用 in、not in ~~~ result = '中国移动' in a print(result) result2 = 'aaaa' in a print(result2) ~~~ * 修改key的值 ~~~ a['中国移动'] = '12345' print(a) ~~~ * 增加一项 ~~~ a['中国铁通'] = '不知道' print(a) ~~~ * 删除词典某一项 ~~~ del a['中国铁通'] print(a) ~~~ * keys() 所有的键 ~~~ print(a.keys()) ~~~ * values() 所有的值 ~~~ print(a.values()) ~~~ * items() 所有的键值对 ~~~ print(a.items()) ~~~ > ### for循环 for 循环是根据目标的元素个数来决定循环的次数 语法如下: ~~~ for 变量 in 目标: 循环内容 目标有多少个元素,就循环多少次 ~~~ ~~~ a = ['python','java','php'] for i in a: print(i) print('for循环,每一次循环会找到目标的一个元素') print('并且赋值个变量,直到所有的元素都找完') ~~~ 通常配合for循环一起使用的就是range()函数 range()三种用法 ~~~ range(10) # 表示生成0,1,2,3,4,5,6,7,8,9 range(1,10) # 表示生成1,2,3,4,5,6,7,8,9 range(1,10,2) # 表示生成1,3,5,7,9 ~~~ 一筐球 红色有6个, 黄色有3个,每次随机拿4个球 ~~~ for red in range(1,5): for yellow in range(4): if red+yellow == 4: print('红球有{0}个,黄球有{1}个'.format(red,yellow)) ~~~