Python全栈-day2-day3-语法基础1
1.什么是变量,为什么需要变量
变量即变化的量,衡量现实中实物的状态;程序执行的本质就是一系列的状态变化,变是程序本身执行的直接体现,因此程序的执行需要这种机制将执行状态以及状态的变化保存下来。
1)变量的定义
规则:
a.数字、字母、下划线的组合
b.第一个字符不能为数字
c.不能使用关键字如Python中的语法字符等
定义方式:
abb = 10
Age = 18
#推荐使用下划线
number_of_oldboy = 'zhang'
2)注意事项
a.变量名不宜使用中文
b.变量名过长
c.变量名尽量贴合变量的使用(如定义人的年龄:age_of_zh = 20)
3)垃圾回收机制
Python中自带垃圾回收机制
4)变量的三个特征
a.id---内存编号
b.type---数据类型
c.vlaue---变量值
2.数据类型
数据即变量的值,上面提到变量的存在是为了衡量实物存在的状态的,那么针对不同的状态就应该使用不同的数据去标识。
1)数字
整型和浮点型
#int整型
age =18
#可标识:年龄,身份证等 #float浮点型
height = 1.80
#可标识:身高,体重等
2)字符
字符串
#加上引号的字符就是字符串,Python中没有字符这一概念
name = 'zhang'
sex = "man"
info = '''
字符串的定义中,使用单引号和双引号并无区别,三引号可实现
多行字符串的定义
''''
延伸:字符串之间可进行相加和相乘运算
name = 'zhang'
age = ''
res1 = name + age
res2 = name * age
3)列表
定义方式:[ ]内使用逗号隔开,列表内可存放无限多个类型的值,且可进行嵌套使用
#定义
student_info = ['zhang',18,['study','grils']]
#取值,取出zhang的第一个爱好
print(sdudent_info[2][0])
4)字典
定义方式:{x:y}键和值之间用:隔开,和列表一样也可存放多个值;区别于取值方式,列表的取值通过索引进行取值,字典的取值通过key进行取值;同时,字典也可以进行嵌套使用
userinfo={
'name':'egon',
'age':18,
'company_info':{'name':'oldboy',
'addr':{'country':'China',
'city':'Shanghai',}
}
}
print(userinfo['company_info']['addr']['city'])
3.用户交互input()
Python3.x中的input(),默认将用户输入的值全部存储成字符串,Python2.x与之对应的是raw_input()。除此之外2.x中也存在内置方法input(),但是输入的类型必须明确,因此用户输入什么类型就是什么类型
4.运算符
1)数学运算符

2)逻辑运算符
当存在多个逻辑运算符时,依次从左往右进行判断比较

3)比较运算符

4)赋值运算符

5)身份运算符
a.is是用于比较id值是否相等
b.==用于判断两个值是否相等
补充说明:通常情况下,每声明一个变量就会向系统申请一个内存地址,然而由于Python中自带的内存优化机制,使得在不同的环境下会出现两个值相等的变量的内存地址相同的情况
5.流程控制 if
if 条件1: 代码块 elif 条件2: 代码块 ...... else: 代码块
#练习题
while True:
msg='''
1 加法
2 减法
3 乘法
4 除法
输入'quit'退出
'''
print(msg)
choice = input('>>: ').strip()
if choice == 'quit':
break
else:
num1 = input('输入第一个数字:').strip()
num2 = input('输入第二个数字:').strip()
if choice == '':
res=int(num1)+int(num2)
print('%s+%s=%s' %(num1,num2,res))
elif choice == '':
res=int(num1)-int(num2)
print('%s-%s=%s' %(num1,num2,res))
elif choice == '':
res=int(num1)*int(num2)
print('%s*%s=%s' %(num1,num2,res))
elif choice == '':
res=int(num1)/int(num2)
print('%s/%s=%s' %(num1,num2,res))
6.流程控制while
1)while + break跳出本次循环
#允许用户最多尝试3次,3次都没猜对的话,就直接退出,如果猜对了,打印恭喜信息并退出
age = 20
count = 0
while count < 3:
age_ip = input("输入年龄:")
if int(age_ip) == age:
print("恭喜,猜对了...")
break #跳出while循环
else:
count += 1
print("输入错误...")
if count == 3:
print("抱歉,你没机会了...")
2)while + continue
tag = True
username = 'zhang'
password = ''
while tag:
inp_name = input('name>>:')
inp_pwd = input('password>>:')
if inp_name == username and inp_pwd == password:
print('logging successful')
while tag:
cmd = input('cmd>>:')
if cmd == 'quit':
tag = False
continue #退出当前while循环
print('%s 命令正在执行...' % cmd)
else:
print('user or password not vaild!')
7.赋值运算
1)链式赋值
x = 1
y = x
y=x=a=b=1
print(id(y),id(b))
2)交叉赋值
m = 1
n = 10
m,n=n,m
print(m,n)
补充:变量解压
ser = [10,11,12,14]
mon1,mon2,mon3,mon4 = ser
print(mon1,mon2,mon3,mon4)
# 利用 *_ 取前几个或者后几个值
# mon1,mon2,*_=ser
# *_,mon4=ser
# print(mon1,mon2,mon4)
8.进制装换
print(bin(4)) #二进制
print(hex(17)) #十六进制
print(oct(8)) #八进制
Python全栈-day2-day3-语法基础1的更多相关文章
- python全栈测试之路-py3基础:基础的常用语法知识
python基础链接 python3速查参考- python基础 2 -> if语句应用 + while循环应用 https://www.cnblogs.com/wuzhiming/p/7795 ...
- Python全栈 Web(HTML基础语法)
原文地址: https://yq.aliyun.com/articles/632672 .............................................. ...
- python全栈学习--day3
一.基础数据类型 基础数据类型,有7种类型,存在即合理. 1.int 整数 主要是做运算的 .比如加减乘除,幂,取余 + - * / ** %...2.bool 布尔值 判断真假以及作为条件变量3. ...
- 【Python全栈-数据库】数据库基础
数据库的简介 数据库 数据库(database,DB)是指长期存储在计算机内的,有组织,可共享的数据的集合.数据库中的数据按一定的数学模型组织.描述和存储,具有较小的冗余,较高的数据独立性和易扩展性, ...
- 【Python全栈-jQuery】jQuery基础知识
前端学习之jQuery 一. jQuery是什么? <1> jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多 javascript高手加入其team. < ...
- python全栈开发-Day8 函数基础
python全栈开发-Day8 函数 一 .引子 1. 为何要用函数之不用函数的问题 #1.代码的组织结构不清晰,可读性差 #2.遇到重复的功能只能重复编写实现代码,代码冗余 #3.功能需要扩展时,需 ...
- Python全栈开发day3
1.Pycharm使用介绍 1.1 新建py文件自动添加python和编码 1.2 更改pycharm默认字体和风格 点击左上角“file”-->“Settings”(或者用“Ctrl+Alt+ ...
- Python全栈-day1-day2-计算机基础
计算机基础 1.编程语言 语言即事物之间沟通的介质,编程语言即程序员与计算机沟通的介质.程序员通过编写计算机程序使得计算机能够按照人预先的期望执行相应的动作,从而达到在某种程度上解放人和实现人类难以实 ...
- python全栈开发-Day3 字符串
python全栈开发-Day3 字符串 一.按照以下几个点展开字符串的学习 #一:基本使用 1. 用途 #首先字符串主要作用途径:名字,性别,国籍,地址等描述信息2.定义方式 在单引号\双引号\三引 ...
- python全栈开发-Day2 布尔、流程控制、循环
python全栈开发-Day2 布尔 流程控制 循环 一.布尔 1.概述 #布尔值,一个True一个False #计算机俗称电脑,即我们编写程序让计算机运行时,应该是让计算机无限接近人脑,或者说人 ...
随机推荐
- 配置ssm 时, web.xml 文件无 # 自动代码提示
环境:STS 版本:spring-tool-suite-3.8.1.RELEASE-e4.6-win32-x86_64 配置ssm 时, web.xml 文件无 如下图蓝色圈范围内的提示 问题与 链接 ...
- 完整OSW安装方法
完整OSW安装方法(如果数据库是rac,一定要记得第5步,要不收集不到私网的信息): OSW介质见附件 1.上传介质到 /home/oracle 2.oracle用户将压缩包解压到归档arch目录下( ...
- 重新安装phpstudy之后出现了403的错误
1. httpd.conf 文件,找到如下代码: DocumentRoot "D:\WWW" <Directory /> Options +Indexes +Follo ...
- 原生js获取子元素、给元素增加div
//鼠标移入移出动画 解决页面闪屏问题 window.onload = function () { var el = document.createElement('div'); el.classNa ...
- Linux上跑MySQL优化技巧
1.禁止操作系统更新文件的atime属性 atime是Linux/UNIX系统下的一个文件属性,每当读取文件时,操作系统都会将读操作时间回写到磁盘上.对于读写频繁的数据库文件来说,记录文件的访问时间一 ...
- mysql报错Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage
mysql报错Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage 在执行cr ...
- ORACLE12C架构图
- SpringMVC在使用Jackson2时关于日期类型格式化的问题
SpringMVC在使用Jackson2时关于日期类型格式化的问题 如果无效,那么使用 @DateTimeFormat(pattern = "yyyy-MM-dd")
- keras学习简单线性回归【1】
转自:https://morvanzhou.github.io/tutorials/machine-learning/keras/2-1-regressor/ 总的代码的过程就是: 1.导入模块+创建 ...
- iOS UI进阶-4.0 地图与定位
在移动互联网时代,移动app能解决用户的很多生活琐事,比如 导航:去任意陌生的地方 周边:找餐馆.找酒店.找银行.找电影院 在上述应用中,都用到了地图和定位功能,在iOS开发中,要想加入这2大功能 ...