python基本语法
2021/4/17 20:26:25
本文主要是介绍python基本语法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
python基本语法
第一节 开发环境安装介绍
一、计算机组成
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5yYrpni6-1618656212448)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210415091101436.png)]
CPU:处理数据的 内存中:CPU要处理的数据 硬盘:永久存储数据的地方
二、python介绍
1、python火爆的原因
简单易学 免费、开源 应用领域广泛:web开发、爬虫、数据分析、人工智能、机器学习、自动化测试、自动化运维
备注:知名框架
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0TfUd3Q0-1618656212451)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210415092224072.png)]
2、python版本
基于python3.5版本 课程以3.7版本讲解
3、下载和安装python
下载网站:https://www.python.org/downloads/windows/
安装:傻瓜式安装
测试:按cmd+r,进入命令行操作,输入python,按回车键会显示版本号
注意点:如果安装多个版本的python,可对不同版本的python解释器进行重命名。例如python2(python2.X的版本)、python3(python3.X的版本)
三、PyCharm
1、pycharm的作用
是一种集成开发环境,功能:智能提示、语法高亮、代码跳转、调试代码、解释代码、框架和库... 下载社区版本
2、下载和安装
下载网站:https://www.jetbrains.com/pycharm/download/#section=windows
勾选:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VPGmwSDw-1618656212454)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210415101416067.png)]
3、pycharm基本使用
新建项目:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fTXaO22A-1618656212460)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210415102633768.png)]
新建文件并书写代码
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7TXwvdJ2-1618656212464)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210415103547132.png)]
运行文件
右击点击run
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-exRA1weY-1618656212465)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210415103629553.png)]
4、pycharm设置
界面修改
代码样式修改
解释器修改
5、项目管理
打开项目
第二节 变量和基本数据类型
一、注释
单行注释
# 注释内容 print("hello world") # 简单注释 快捷键 CTRL+/
多行注释
""" 注释一 注释二 注释三 """ 或者 ''' 注释一 注释二 注释三 '''
注意:单行注释一般是对一行代码进行注释
多行注释一般是对多行代码或者对代码块进行注释
二、变量的作用
变量的定义:内存地址的名字
2.1 定义变量:
变量名 = 值 变量名自定义,要满足标识符命名规则
2.2 标识符:
- 有数字、下划线、字母组成
- 不能数字开头
- 不能使用内置关键字
- 严格区分大小写
2.3 命名习惯:
- 见名知意
- 大驼峰:MyName
- 小驼峰:myName
- 下划线:my_name
2.4 使用变量
my_name = 'hello world' print(my_name)
2.5 认识bug
- 打断点
- debug调试
三、数据类型
-
数值类型:int float
-
布尔型 bool
-
字符串 str
-
列表 list
list1 = [10, 20, 30]
-
元组 tuple
tuple1 = (10, 20, 30)
-
集合 set
set = {10, 20, 30}
-
字典 dict
dict1 = {'name': '李白', 'age': 18}
注意:逗号和冒号后面都要加入空格
四、输出
1、格式化输出
- %s 字符串
- %d 有符号的十进制整数
- %f 浮点数
- %c 字符
- %u 无符号十进制整数
- %o 八进制整数
- %x 十六进制整数(小写ox)
- %X 十六进制整数(大写OX)
- %e 科学计数法(小写‘e’)
- %E 科学计数法(大写‘E’)
- %g %e和%f的简写
- %G %E和%F的简写
技巧:
- %06d , 表示输出的整数显示位数,不足以0补全,超出当前位数原样输出
- %.2f , 表示小数点后显示的小数位数
2、f 格式化字符串
格式:f’{表达式}'
注意:这是python3.6之后的版本才采用的
print('我的名字是%s,今年%d岁了' % (name, age)) 采用f表达式后是: print(f'我的名字是{name},今年{age}岁了')
3、转义字符
- \n:换行
- \t:制表符,一个tab键为4个空格的距离
4、结束符
print('hello')实际上是print('hello', end="\n"),默认自带end="\n"换行结束符 用户可以根据自己的需求进行更改
第三节 数据类型转换和运算符
一、输入
1、输入语法
input("提示信息")
2、输入的特点
- 接受用户输入的数据一般存储到变量中,方便使用
- input会把接收到的任意用户输入的数据都当作字符串处理
二、转换数据类型
- int(x[,base]) 将x转换成一个整数
- float(x) 将x转换成一个浮点数
- str(x) 将x转换成一个字符串
- eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象
- tuple(str) 将序列s转化成一个元组
- list(str) 将字符串转换成一个列表
- complex(real[,imag]) 创建一个复数,real为实部,imag为虚部
- repr(x) 将对象x转换成表达式字符串
- chr(x) 将一个整数转换为一个Unicode字符
- ord(x) 将一个字符转换为它的ASCII整数值
- hex(x) 将一个整数转换为一个十六进制字符串
三、运算符
1、算数运算符
加减乘除:+ - * / 整除 // 取余 % 指数 ** 2**4=16 小括号 ()
2、赋值运算符
等号 = 单变量赋值 num = 1 多变量赋值 num1, float1, str1 = 10, 0.5, 'hellowold' 多个变量赋相同的值 a = b = 10
3、复合赋值运算符
加减乘除赋值运算符 +=、-=、*=、/= 整除赋值运算符 //= 取余赋值运算符 %= 幂赋值运算符 **= 注意点: d = 10 d *= 2 + 1 ---- 10*(2+1) 先算赋值运算符右边的表达式
4、比较运算符
== 判断相等 != 不等于 > 大于 < 小于 >= 大于等于 <= 小于等于
5、逻辑运算符
and 与 or 或 not 非 拓展:数字之间的逻辑运算 and : 只要有一个值为0,否则结果为最后一个非0数字 0 and 9 and 7 结果为:0 9 and 8 and 6 结果为:6 or : 只有所有值为0,否则结果为第一个非0的数字 0 or 8 or 7 结果为: 8 8 or 1 结果为: 8
第四节 if语句
一、if语法
1、语法
if条件: 条件成立执行的代码1 条件成立执行的代码2 。。。
2、实例
if 条件: 条件成立要执行的代码 注意:条件成立要执行下方带缩进的代码 if True: print('条件成立执行的代码') age = int(input('请输入年龄:')) # 注意:age为字符串类型,要进行类型转换 if age >= 18: print('用户已成年可以上网')
二、多重判断
1、语法
if 条件1: 代码1 代码2 ... elif 条件2: 代码1 代码2 ... ... else: 以上条件都不成立执行的代码
2、实例
age = int(input('请输入您的年龄:')) if age < 18: print('未成年不可以上网') elif (age >= 18) and (age <= 60): # 可化简成: 18 <= age <= 60 print('已成年可以上网') else: print('年龄太大不可以上网') print('系统关闭')
三、if 嵌套
1、语法
if 条件1: 代码1 代码2 if 条件2: 代码3 代码4
2、实例:公交车例子
money = 1 seat = 1 if money == 1: print('您好,请上车') if seat == 1: print('坐着') else: print('站着') else: print('来,跟着后面跑吧')
四、猜拳游戏
1、需求分析
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7XR53huL-1618656212469)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210415194111599.png)]
1、出拳 玩家:手动输入 电脑:1.固定:剪刀 2.随机 2、判断输赢 2.1 玩家获胜 2.2 平局 2.3 电脑获胜
2、代码编写
import random print('提示(0--剪刀,1--石头,2--布)') player = int(input('玩家输入')) computer = random.randint(0, 2) if ((player == 0) and (computer == 2)) or ((player == 1) and (computer == 0)) or ((player == 2) and (computer == 1)): print('获胜') elif (): print('平局') else: print('电脑获胜')
五、三目运算符
条件成立执行的表达式 if 条件 else 条件不成立执行的表达式 a = 1 b = 2 c = a if a > b else b
第五节 while循环
一、语法
while 条件: 代码1 代码2 .... 实例: i = 100 while i != 0: print('媳妇我错了') i -= 1
二 、应用
1、计算1~100以内的数字累加和
sum_i = 0 i = 0 while i <= 100: sum_i += i i += 1 print(f'100以内数字的和为{sum_i}')
2、计算100以内偶数的累加和
# 方法一:计数器控制 i = 0 sum_i = 0 while i <= 100: sum_i += i i += 2 print(f'100以内偶数的累加和为{sum_i}') # 方法二:使用偶数判断条件 i = 0 sum_i = 0 while i <= 100: if i % 2 == 0: sum_i += i i += 1 print(f'100以内偶数的累加和为{sum_i}')
三、break 和 continue
1、break
终止此循环
# 吃五个苹果,当吃完三个苹果后不吃了 i = 1 while i <= 5: print(f'吃了第{i}个苹果') i += 1 if i == 3: print('吃饱了,不吃了') break
2、continue
退出当前一次循环继而执行下一次循环
# 吃五个苹果,当吃到第三个苹果迟到虫子就不吃了 i = 1 while i <= 5: if i == 3: print('吃到虫子了,不吃了') i += 1 #应注意计数器 continue print(f'吃了第{i}个苹果') i += 1
四、while循环嵌套
1、语法
while 条件1: 条件1成立执行的代码 ... while 条件2: 条件2成立执行的代码 ....
2、实例:
# 每天说五遍媳妇我错了,还要刷碗,并且要连续三天 day = 3 count = 5 # 外循环为天数 while day != 0: while count != 0: print('媳妇我错了') count -= 1 print('刷碗') count = 5 day -= 1 print('------------')
3、应用
1、打印星号(正方形)
# 打印正方形星号 count_row = 0 count_column = 0 while count_row < 5: while count_column < 5: print('*', end='') count_column += 1 count_column = 0 print() count_row += 1
2、打印三角形
# 打印三角形 count_row = 1 count_column = 0 while count_row < 6: while count_column < count_row: print('*', end='') count_column += 1 print() count_column = 0 count_row += 1
3、打印九九乘法表
# 打印九九乘法表 count = 9 # 控制行数和列数 i = j = 1 # i和j用于记录 while i <= count: while j <= i: print(f'{i}*{j}={i*j}', end=' ') j += 1 print() j = 1 i += 1
第六节 for 循环
一、语法
for 临时变量 in 序列: # 是由多个数据组成的 重复执行的代码1 重复执行的代码2 ... str1 = 'python' for i in str1: print(i)
二、break 和 continue
# break for i in str1: if i == 'h': print('遇到h不打印') break print(i) # continue for i in str1: if i == 'h': print('遇到h不打印') continue print(i)
三、else与循环的使用
- while和for都可以配合else使用
- else下方缩进的代码含义:当代码正常结束后执行的代码
- break终止循环不会执行else下方缩进的代码
- continue退出循环的方式执行else下方缩进的代码
第七节 字符串
一、下标
name = 'abcde' print(name[0])
二、切片
切片是指对操作对象截取其中一部分的操作。字符串、列表、元组都支持切片的操作
1、语法
序列[开始位置下标:结束位置下标:步长] 注意: 1、区间是左闭右开 2、步长是选取间隔,正负整数均可,默认步长为1 3、步长可以不写,默认为1
2、实例
str1 = '012345678' print(str1[2:5:1]) # 234 print(str1[2:5:2]) # 24 print(str1[2:5]) # 234 print(str1[:5]) # 01234 print(str1[2:]) # 2345678 print(str1[:]) # 012345678 # 负数测试 print(str1[::-1]) # 876543210 print(str1[-4:-1]) # 567 # 倒续输出采用的还是左闭右开的原则 # 终极测试 print(str1[-4:-1:1]) # 567 print(str1[-4:-1:-1]) # 不能选取数据:从-4开始到-1结束,选取方向为从左到右,但是-1步长:从右向左选取 # ***【重点】 如果选取方向(下标开始到结束的方向)和 步长的方向冲突,则无法选取数据 print(str[-1:-4:-1]) # 876
三、常用操作方法
1、查找
find()
检测某个子串是否包含在这个字符串中,如果在则返回这个子串开始的位置下标,否则返回-1 语法: 字符串序列.find(字串, 开始位置的下标, 结束位置的下标) 注意:开始位置的下标和结束的下标都可以省略,表示在整个字符串序列中查找
index()
检测某个子串是否包含在这个字符串中,如果在则返回这个字串开始的下标,否则报错 语法: 字符串序列.index(子串, 开始位置的下标, 结束位置的下标) 注意:开始位置的下标和结束位置的下标都可以省略
count()
返回某个子串在字符串中出现的次数
- rfind(): 和find功能相同,但是查找到方向只是从右边开始
- rindex():和index功能相同,但是查找的方向只是从右边开始
2、修改
replace()
替换字符串
语法:
字符串序列.replace(旧字符串, 新字符串, 替换次数) mystr = "hello world and itcast and itheima and Python" # 结果:hello world he itcast he itheima he Python print(mystr.replace('and', 'he')) # 结果:hello world he itcast he itheima he Python print(mystr.replace('and', 'he', 10)) # 结果:hello world and itcast and itheima and Python print(mystr)
注意:如果没有写替换次数,则默认全部替换。返回值为一个字符串类型
split()
分割字符串
语法
字符串序列.split(分割字符, num) mystr = "hello world and itcast and itheima and Python" # 结果:['hello world ', ' itcast ', ' itheima ', ' Python'] print(mystr.split('and')) # 结果:['hello world ', ' itcast ', ' itheima and Python'] print(mystr.split('and', 2)) # 结果:['hello', 'world', 'and', 'itcast', 'and', 'itheima', 'and', 'Python'] print(mystr.split(' ')) # 结果:['hello', 'world', 'and itcast and itheima and Python'] print(mystr.split(' ', 2))
注意:num为分割的次数,即将来返回数据个数为num++。返回值类型为一个列表类型
join()
合并字符串
语法
字符或子串.join(多字符串组成的序列) list1 = ['chuan', 'zhi', 'bo', 'ke'] t1 = ('aa', 'b', 'cc', 'ddd') # 结果:chuan_zhi_bo_ke print('_'.join(list1)) # 结果:aa...b...cc...ddd print('...'.join(t1))
大小写转换函数
capitalize():只有字符串第一个字符转换成大写,即使字符串中有其他大写也会转换成小写 title():将字符串每个单词首字母转换成大写 lower():将字符串中大写转换成小写 upper():将字符串中小写转大写
删除空白函数
rstrip: 删除字符串右侧空白字符 lstrip: 删除字符串左侧空白字符 strip: 删除字符串两侧空白字符
对齐函数
ljust:左对齐 rjust:右对齐 center:中间对齐
3、判断函数
-
startwith():检查字符串是否以指定子串开头,是则返回True,否则返回False。如果设置开始和结束位置下标,则在指定范围内检查
语法: 字符串序列.startwith(子串, 开始位置的下标, 结束位置的下标)
-
endwith():用法与startwith类似
-
isalpha():如果字符串至少有一个字符并且所有字符都是字母则返回True,否则返回False
-
isdigit():如果字符串只包含数字则返回True否则返回False
-
isalnum():字符串为字母或者数字的组合
-
isspace():如果字符串都是空白则返回True,否则返回False
第八节 列表和元组
一、列表的格式
[数据1, 数据2, 数据3, ...]
列表可以一次性存储多个数据,且可以为不同数据类型
二、常用操作
1、查找
-
下标
name_list = ['Tom', 'Lily', 'Rose'] print(name_list[0]) # Tom print(name_list[1]) # Lily
-
函数
-
index():返回指定数据所在位置的下标
注意:如果查找的数据不存在则会报错
语法: 列表序列.index(数据, 开始位置下标, 结束位置下标) name_list = ['Tom', 'Lily', 'Rose'] print(name_list.index('Lily', 0, 2)) # 1
-
count():统计指定数据在当前列表中出现的次数
name_list = ['Tom', 'Lily', 'Rose'] print(name_list.count('Tom')) # 1 print(name_list.count('Toms')) # 0
-
len():访问列表长度,即列表中数据的个数
name_list = ['Tom', 'Lily', 'Rose'] print(name_list.len()) # 3
- 判断某个数据是否存在
-
in:判断某个数据是否在列表中,如果在则返回一个True,不在则返回一个False
name_list = ['Tom', 'Lily', 'Rose'] isLily = 'Lily' in name_list print(isLily) # True
-
not in:判断指定数据不在某个列表序列中,如果不在则返回一个True,否则返回一个False
name_list = ['Tom', 'Lily', 'Rose'] isLily = 'Rose' not in name_list print(isLily) # False
体验案例
需求:查找用户输入的名字是否已经存在
name_list = ['Tom', 'Lily', 'Rose'] name = input('请输入一个名字') if name in name_list: print('您输入的名字已经存在') else: print('您输入的名字不存在')
2、增加
-
append():列表结尾增加数据
语法: 列表序列.append(数据) name_list = ['Tom', 'Lily', 'Rose'] name_list.append('xiaoming') print(name_list) # ['Tom', 'Lily', 'Rose', 'xiaoming'] name_list.append(['xiaoming', 'xiaoming']) print(name_list) # ['Tom', 'Lily', 'Rose', 'xiaoming', ['xiaoming', 'xiaoming']] # 注意点:如果append追加的数据是一个序列,则追加整个序列到列表
-
extend():列表结尾追加数据,如果数据是一个序列,则将这个序列的数据逐一添加到列表
# 单个数据: name_list = ['Tom', 'Lily', 'Rose'] name_list.extend('xiaoming') print(name_list) # 结果:['Tom', 'Lily', 'Rose', 'x', 'i', 'a', 'o', 'm', 'i', 'n', 'g'] # 多个数据 name_list.extend(['xiaoming', 'xiaohong']) print(name_list) # 结果:['Tom', 'Lily', 'Rose', 'xiaoming', 'xiaohong']
-
insert():指定位置新增数据
语法: 列表.insert(位置下标, 数据) name_list = ['Tom', 'Lily', 'Rose'] name_list.insert(1, 'xiaoming') # 结果:['Tom', 'xiaoming', 'Lily', 'Rose'] print(name_list)
3、删除
- del
可以删除指定的数据 del name_list[0] 也可以删除列表 del name_list
-
pop():删除指定下标的数据(默认为最后一个),并返回该数据
语法: 列表序列.pop(下标) name_list = ['Tom', 'Lily', 'Rose'] del_name = name_list.pop(1) print(del_name) # Lily print(name_list) # ['Tom', 'Rose'] name_list = ['Tom', 'Lily', 'Rose'] del_name = name_list.pop() print(del_name) # Rose print(name_list) # ['Tom', 'Lily']
-
remove():移除列表中某个数据的第一个匹配项
语法: 列表序列.remove(数据) name_list = ['Tom', 'Lily', 'Rose'] name_list.remove('Rose') print(name_list) # [['Tom', 'Lily']
-
clear():清空列表
name_list = ['Tom', 'Lily', 'Rose'] name_list.clear() print(name_list) # 结果 []
4、修改
name_list = ['Tom', 'Lily', 'Rose']
name_list.insert(1, ‘xiaoming’)
结果:[‘Tom’, ‘xiaoming’, ‘Lily’, ‘Rose’]
print(name_list)
#### 3、删除 1. del ```python 可以删除指定的数据 del name_list[0] 也可以删除列表 del name_list
-
pop():删除指定下标的数据(默认为最后一个),并返回该数据
语法: 列表序列.pop(下标) name_list = ['Tom', 'Lily', 'Rose'] del_name = name_list.pop(1) print(del_name) # Lily print(name_list) # ['Tom', 'Rose'] name_list = ['Tom', 'Lily', 'Rose'] del_name = name_list.pop() print(del_name) # Rose print(name_list) # ['Tom', 'Lily']
-
remove():移除列表中某个数据的第一个匹配项
语法: 列表序列.remove(数据) name_list = ['Tom', 'Lily', 'Rose'] name_list.remove('Rose') print(name_list) # [['Tom', 'Lily']
-
clear():清空列表
name_list = ['Tom', 'Lily', 'Rose'] name_list.clear() print(name_list) # 结果 []
4、修改
这篇关于python基本语法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-01Python编程基础知识
- 2024-11-01Python编程基础
- 2024-10-31Python基础入门:理解变量与数据类型
- 2024-10-30Python股票自动化交易资料详解与实战指南
- 2024-10-30Python入行:新手必读的Python编程入门指南
- 2024-10-30Python入行:初学者必备的编程指南
- 2024-10-30Python编程入门指南
- 2024-10-30Python量化交易学习:新手入门指南
- 2024-10-30Python股票自动化交易实战入门教程
- 2024-10-29Python股票自动化交易教程:新手入门指南