PythonDay1Base
PythonDay1Base
变量
即python运行过程中可以发生改变的量,如同数学中的未知数X,将一个确定的量赋值给变量。
变量定义原则
由英文大小写,数字以及下划线_组成
不能以数字开头
不能以关键字定义
a = 100 右边的100赋值给a
定义变量时的规范
要见名知意
命名要施行驼峰式命名法或者下划线命名法
-驼峰式命名法 第一个单词全部小写,从第二个单词开始,首字母大写
highStudent
playGame
selectStudentWithName
下划线命名法 所有单词全部小写,单词与单词之间使用下划线拼接
high_student
play_game
基本数据类型
str 字符串类型
格式1:由单引号括起来的字符序列
'这是一个例子'
格式2:由双引号括起来的字符序列
""这是一个例子""
格式3:由三个单引号括起来的字符序列
'''这是一个例子'''
格式4:由三个双引号括起来的字符序列
"""这是一个例子""
格式3、4可以用回车换行表示,而前两者不行。
int 整数型
```
a=100,b=33,c=45
```
- float 浮点型
a=1.3412
- bool 布尔类型
True False
输入输出
- 输入 input
接受的所有类型(内容)都是字符串
输出 print
直接使用print是以默认形式输出
- sep:分隔符,默认为空格,可用"sep='-'"以-分割
- end:输出完一行后的符号,默认为\n,可用"end=','"以,分割
类型转换
查看数据类型type(**)
转整数int(**)
age = input("请输入您的年龄:")
print(int(age)+1)易错点:并非所有的值都能转数值
name = input("请输入您的姓名:")
print(int(name)) # 报错
转浮点数float(**)
转字符串str(**)
转bool类型bool(**)
转bool类型隐藏用法
若非上面的值,转bool的结果都是True
并非所有类型都能转换,汉字不可向数字转换。
bool类型中:0,0.0,"",''均为false。
注释
在Python程序运行过程中,不会被解释运行的内容。
+空格+内容,即单行注释。
利用首尾三单引号进行注释
'''***'''
或
"""***"""
前提是不赋值给变量。
Pass关键字
为了维护语句完整性而引出的一个关键字
字符串的格式化
需求:输入自己的姓名,年龄,性别,爱好,并输出。
方式1:用“+”拼接
name = input("请输入您的姓名:")
age = input("请输入您的年龄:")
gender = input("请输入您的性别:")
like = input("请输入您的爱好:")
print("您的姓名是:" + name + ", 年龄:" + age + ", 性别:" + gender + ", 爱好:" + like)
方式2:使用.format进行格式化 【是python推荐的方式】
类型1:
name = input("请输入您的姓名:")
age = input("请输入您的年龄:")
gender = input("请输入您的性别:")
like = input("请输入您的爱好:") # 方式2中的格式1
print("您的姓名是:{0},年龄:{1},性别:{2},爱好:{3}".format(name, age, gender, like))
类型2:{}
若大括号中不传索引,那么大括号取值的时候,按照后面的值的顺序进行排序
name = input("请输入您的姓名:")
age = input("请输入您的年龄:")
gender = input("请输入您的性别:")
like = input("请输入您的爱好:") # 方式2中的格式2
print("您的姓名是:{},年龄:{},性别:{},爱好:{}".format(name, age, gender, like))
类型3:
name = input("请输入您的姓名:")
age = input("请输入您的年龄:")
gender = input("请输入您的性别:")
like = input("请输入您的爱好:")
print("您的姓名是:{a1},年龄:{a2},性别:{a3},爱好:{a4}, 不好意思没听清,您的爱好是: {a4}".format(a1=name, a2=age, a3=gender,a4=like))
方式3:%
这种方式传参,需要考虑数据类型的问题。
name = input("请输入您的姓名:")
age = input("请输入您的年龄:")
gender = input("请输入您的性别:")
like = input("请输入您的爱好:")
print("您的姓名是:%s,年龄:%s,性别:%s,爱好:%s" % (name, age, gender, like))
语句结构
选择结构if
注意事项:
- 判断条件的类型必须是bool类型
- 语句体前面必须要有缩进,默认为四个空格
格式1:
if 判断条件:
当判断条件为True时执行
格式2:
if 判断条件:
True
else 判断条件:
False
格式3:
if 判断条件1:
当判断条件1为True的时候执行
elif 判断条件2:
当判断条件2为True的时候执行
elif 判断条件3:
当判断条件3为True的时候执行
elif 判断条件4:
当判断条件4为True的时候执行
...
格式4:为了程序的严谨性,在格式3的基础上增加else
if 判断条件1:
当判断条件1为True的时候执行
elif 判断条件2:
当判断条件2为True的时候执行
elif 判断条件3:
当判断条件3为True的时候执行
elif 判断条件4:
当判断条件4为True的时候执行
...
else:当上面所有的条件都不满足的时候执行
python中数值可以连续比较
循环结构for while
range()内置函数
使用方式1:range(数值) 生成一个序列,序列范围是0 ~ 数值-1
for i in range(10):
print(i)
使用方式2:range(开始值, 结束值) 生成一个序列,序列范围是 开始 ~ 结束-1
# 输出1-10
for i in range(1, 11): # 1~10
print(i)
使用方式3:range(开始值, 结束值, 步长) 生成一个序列,序列范围是 开始 ~ 结束-1 ,取值的
方式每隔步长取一次
for i in range(1, 11, 2): # 1 3 5 7 9
print(i)
for循环语句:
格式1:
for 变量1[,变量2,变量3....] in 可遍历序列:
使用变量
例:求1-10之和:
num = 0
for i in range(1, 11):
num = num + i
print(f"1-10之和为:{num}")
例:求1-100的奇数和:
num = 0
for i in range(1, 101):
if i%2==1:
num = num + i
print(f"1-10之和为:{num}")
格式2:
for 变量1[,变量2,变量3....] in 可遍历序列:
使用变量
else:
语句体 # 当for循环正常结束的情况下,执行这里的else
while循环语句:
格式1:
while 判断条件表达式:
循环体
例:
注意: 使用while循环的时候,要注意结束循环的条件变化!否则一不小心就成了死循环
num = 1
while num <= 5:
print("好好学习,天天向上!")
num = num + 1 print("hello world")
格式2:
while 判断条件表达式:
循环体
else:
语句体 # 当while循环正常结束的情况下,执行这里的else
for循环和while循环的区别?
- 当你确定循环的范围的时候,优先考虑for循环 【吃葡萄】
- 若循环的范围不确定,但是能够知道循环的结束条件的时候,优先考虑while循环 【喝水】
控制流程语句
continue 继续,跳过当次循环,继续下一次循环
例:遍历1-10,当遇到5的时候,使用一次continue
for循环实现
for i in range(1,11):
if i==5:
continue
print(i) print("好好学习")
while循环实现
num = 1
while num <= 10:
if num==5:
num = num + 1
continue
print(num)
num = num + 1
break 结束,终止整个循环
例:遍历1-10,当遇到5的时候,使用一次break
for循环实现
for i in range(1,11):
if i==5:
break
print(i) print("好好学习")
while循环实现
num = 1
while num <= 10:
if num==5:
num = num + 1
break
print(num)
num = num + 1
注意,遇到break的时候,无论是for循环,还是while循环,若存在else语法都不会执行
数据类型详解
字符串
概述:由若干个字符组成字符序列,称之为字符串
特点:字符串一旦被创建就不能被更改
- 定义一个字符串
- 字符串一旦被创建就不可再修改
公共功能
len() python内置的函数,可以获取字符串的长度【字符个数】
字符串具有索引的概念,可以通过索引获取对应的字符
从左向右,从0开始编号;从右向左,从-1开始编号
使用for循环遍历一个字符串,得到每一个字符
字符串通过索引获取字符语句格式:字符串变量名[索引]
s1 = "shujiakeji"
# print(len(s1))
for i in range(len(s1)): # 0 - 9
print(s1[i],end='')
else:
print()
print("hello world")
字符串具有切片功能
字符串变量名[开始索引 : 结束索引] 【注意:左闭右开】
s1 = "33期的同学们,大家好,欢迎来到数加科技!"
print(s1[8:11]) # 8,9,10
print(s1) s1 = "33期的同学们,大家好,欢迎来到数加科技!"
print(s1[-13 : -10]) # 8,9,10 print(s1)
字符串变量名[开始索引 : 结束索引 : 步长]
s1 = "33期的同学们,大家好,欢迎来到数加科技!"
print(s1[::2]) # 3期同们大好欢来数科!
print(s1)
独有功能
upper() 转大写
lower() 转小写
while True:
name = input("请输入您的姓名:")
if name.upper() == 'Q':
print("退出系统....")
break
pwd = input("请输入您的密码:")
if name == 'root' and pwd == '123456':
print("登录成功!")
break
else:print("登录失败!请重新输入....")
isdigit() 判断字符串内容是否是数字
s1 = input("请输入一个字符串:") # '100' 'hello'
if s1.isdigit():
print(int(s1)+1)
else:
print("您输入的字符串内容不是一个数值") print("好好学习")
随机推荐
- Kubernetes基础(基本概念、架构)(十)
一.介绍 Kubernetes(简称 K8S) 的出现是容器化技术发展的必然结果,容器化是应用程序级别的虚拟化,运行单个内核上有多个独立的用户空间实例,这些实例就是容器:容器提供了将应用程序的代码.运 ...
- 前端使用 Konva 实现可视化设计器(23)- 绘制曲线、属性面板
本章分享一下如何使用 Konva 绘制基础图形:曲线,以及属性面板的基本实现思路,希望大家继续关注和支持哈(多求 5 个 Stars 谢谢)! 请大家动动小手,给我一个免费的 Star 吧~ 大家如果 ...
- 【赵渝强老师】使用MongoDB的命令行工具:mongoshell
一.启动mongo shell 安装好MongoDB后,直接在命令行终端执行下面的命令: mongo 如下图所示: 可选参数如下: 也可以简写为: 在mongo shell中使用外部编辑器,如:vi, ...
- 原生CSS、HTML 和 JavaScript 实现酷炫表单
一直使用 Vue/React ,习惯了用组件,偶尔想用原生三剑客写点 Demo 发现样式丑的不忍直视.最近看 掘金小册<玩转CSS的艺术之美>看到 CSS 相关的内容,发现原生 CSS 也 ...
- 关于Android Q平台上qssi的介绍
QSSI 是 Qualcomm Single System Image 的缩写. Android Q上开始支持QSSI. QSSI 是用来编译system.img的3.1 QSSI编译注意事项 lun ...
- 使用AVX2指令集加速推荐系统MMR层余弦相似度计算
原文:blog.fanscore.cn/a/62/ 1. 背景 前一段时间公司上线了一套Go实现的推荐系统,上线后发现MMR层虽然只有纯计算但耗时十分离谱,通过pprof定位问题所在之后进行了优化,虽 ...
- 从2s优化到0.1s,我用了这5步
前言 分类树查询功能,在各个业务系统中可以说随处可见,特别是在电商系统中. 但就是这样一个简单的分类树查询功能,我们却优化了5次. 到底是怎么回事呢? 背景 我们的网站使用了SpringBoot推荐的 ...
- 让查询可以使用 json path
记录一下最近sv.db的完善 1. 让查询可以使用 json path 有时候我们会存储 json 到 db,也有时会只取json部分数据,或者通过json部分数据进行过滤 所以sv.db 也支持这些 ...
- KubeSphere 在互联网医疗行业的应用实践
作者:宇轩辞白,运维研发工程师,目前专注于云原生.Kubernetes.容器.Linux.运维自动化等领域. 前言 2020 年我国互联网医疗企业迎来了"爆发元年",越来越多居民在 ...
- 下一代云电脑技术来临,为什么PC Farm才是未来,以ToDesk为例
近年来飞速发展的云电脑技术,正在挤压传统电脑的生存空间.由于用户对电脑计算能力的要求日益增高,而传统电脑往往会受限于硬件性能无法更新,更换花费较高等因素,难以满足用户对高性能电脑的期待. 与此同时,下 ...