光计划1
Posted shiqizz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了光计划1相关的知识,希望对你有一定的参考价值。
今天是7月的最后一天,8月努力!
变量的三个特征
一丶打印
print(x)
print(id(x))
print(type(x))
二丶判断变量值是否相等
True False
三丶判断变量id是否相等
x = 11
y = x
z = 11
print(x == y) # True
print(x is y) # True
print(x is z)# True,整数池的原因
x = 257
z = 257
print(x is z) # False
id相等的变量,值一定相等,指向的是同一个内存地址;值相等的变量,id不一定相等。
花式赋值
一丶链式赋值
a = b = c = d = 10
print(f'a:a, b:b, c:c, d:d')
二丶交叉赋值
x = 100
y = 200
temp = x
x = y
y = temp
print(f'x:x')
print(f'y:y') # x:200,y:100
x, y = y, x
print(f'x:x')
print(f'y:y') # x:100,y:200
注释
一丶注释
代码注释分单行和多行注释,单行注释用#,多行注释可以用三对单/双引号,使用三引号注释可以换行。
二丶添加注释的原则
不用全部加注释,只需要在自己觉得重要或不好理解的部分加注释即可
注释可以用中文或英文,但不要用拼音
数据类型基础
一丶什么是数据类型
首先让我们回顾变量是什么:变量用来记录世界的状态。创建计算机的目的就是想要让计算机和人一样能够识别世间万物,既然计算机能够识别世间万物。那么我们来想想怎么让计算机来认识我呢?
我们不讲计算机怎么认识我,我们聊聊你是怎么认识我的?如果是你,你是不是会通过我的名字、年龄、身高、性别和爱好认识我。那么可想而知计算机也可以这样认识我。那么如果用计算机中的变量去记录我的这些状态,我的年龄可以用19去记录,但是我的姓名可以使用数字去记录吗?我的爱好可以用数字去记录吗?如果你说你年龄的时候,你又会用18.5岁去形容你的年龄吗?可想而知,你是不会这样做的。
通过上面一大段的陈述,其实可以明白数据类型指的就是变量值的不同类型,姓名可能是一种数据类型、年龄可能是一种数据类型、爱好可能又是另一种数据类型。二丶如何对数据类型进行分类
变量的是用来反映状态以及状态变化的,毫无疑问针对不同的状态就应该用不同类型的数据去标识。
三丶不同数据类型
数字类型
字符串类型
列表类型
字典类型
布尔类型数字类型
数字类型
整形(int)
作用:表示人的年龄、各种号码、级别
定义:
age = 18 # age = int(18) print(age) print(id(age)) print(type(age)) 18 1921150976 <class 'int'>
使用方法:加减乘除、逻辑判断(大于、小于)
浮点型(float)
作用:表示身高、体重、薪资
定义:
salary = 2.1 # salary=float(2.1) print(id(salary)) print(type(salary)) print(salary) 1611865330144 <class 'float'> 2.1
使用方法:加减乘除、逻辑判断(大于、小于)
字符串类型
作用:表示名字、爱好
定义:
name1 = 'nick' name2 = "egon" print(id(name1)) print(type(name1)) print(name1) 2346984016336 <class 'str'> nick name3 = """nick egon""" print(name3) nick egon
使用方法:字符串只能+、*和逻辑比较
- 注意:如果字符串内有引号,则包裹字符串的引号和字符串内部的引号不能相同
- 注意:字符串的乘法只能乘以数字。
- 注意:字符串比较大小,按照ASCII码比较
- 注意:字符串的比较是字母的顺序。
列表
作用:存放多个值。
定义:
在[]内用逗号分隔开任意类型的值。
hobby = 'read' hobby_list = [hobby, 'run', 'girl'] print(id(hobby_list)) print(type(hobby_list)) print(hobby_list) 2050766486152 <class 'list'> ['read', 'run', 'girl']
如何使用:
存不是目的,取才是目的,我们介绍列表索引取值的方法,牢记索引序号从0开始。
hobby_list = ['read', 'run', 'girl'] # 索引序号 0 1 2 # 取出第二个爱好 print(hobby_list[1]) run
hobby_list = ['read', 'run', ['girl_name', 18, 'shanghai']] # 取出girl的年龄 print(hobby_list[2][1]) 18
字典
作用:用来存取多个值,按照key:value的方式存值,取的时候可以通过key而非索引去取值,key对value具有描述性的作用。存放数据的种类各种各样并且数据较多的时候可以使用字典。
定义:在内用逗号分隔开多个元素,每一个元素都是key: value的格式,其中value是任意格式的数据类型,key由于具有描述性的作用,所以key通常是字符串类型。
ser_info = 'name': 'nick', 'gender': 'male', 'age': 19, # 字典套列表 'company_info': ['oldboy', 'shanghai', 50] print(id(user_info)) print(type(user_info)) print(user_info) 2479795990672 <class 'dict'> 'name': 'nick', 'gender': 'male', 'age': 19, 'company_info': ['oldboy', 'shanghai', 50]
使用方法:字典取值方式不再依赖于索引,而是依赖于key,通过[key]即可获取key对应的value值。
# 字典套列表 user_info = 'name': 'nick', 'gender': 'male', 'age': 19, 'company_info': ['oldboy', 'shanghai', 50] print(user_info['name']) print(user_info['company_info'][0]) nick oldboy
# 字典套字典 user_info = 'name': 'nick', 'gender': 'male', 'age': 19, 'company_info': 'c_name': 'oldboy', 'c_addr': 'shanghai', 'c_num_of_employee': 50 print(user_info['name']) print(user_info['company_info']['c_name']) nick oldboy
布尔型
作用:用于判断条件结果
定义:True、False通常情况不会直接引用,需要使用逻辑运算得到结果。
使用方法:
print(type(True)) print(True) <class 'bool'> True print(bool(0)) print(bool('nick')) print(bool(1 > 2)) print(bool(1 == 1)) False True False True 注意:Python中所有数据类型的值自带布尔值。如此多的数据类型中只需要记住只有0、None、空、False的布尔值为False,其余的为True。 print(bool(0)) print(bool(None)) print(bool('')) print(bool([])) print(bool()) print(bool(False)) False False False False False False
解压缩
一丶解压缩
解压缩可以这样理解:超市打包是把多个商品放在一起,解压缩其实就是解包把多个商品一次性拿出来。
name_list = 'nick','egon','jason'
x,y,z = name_list
有时候我们解压缩的值可能是我们不想要的,那么可以使用下划线,万能的下划线。
name_list = ['nick','egon','jason','tank']
x,y,z,a = name_list
x,_,z,_ = name_list
还能有一个更骚的操作,只可意会不可言传。
name_list = 'shiqi','zz','zhangyi','jinx','2019'
x,y,*_,z = name_list
字典也是可以的,但是字典解压缩的是key。
info = 'name':'shiqizz','age':17x,y = infoprint(x,y)
Python与用户的交互
一丶为什么交互?
让我们来回顾计算机的发明有何意义,计算机的发明是为了奴役计算机,解放劳动力。假设我们现在写了一个ATM系统取代了柜员,如果我们要在这台ATM上取款,那么这个ATM是不是会要求我们输入姓名、密码?是不是需要我们输入我们需要取款金额?这是不是就可以理解为一种交互。现在让我们了解下Python是怎么实现交互的。
二丶 如何交互?
input()
int(inpt())
str(888)
无论我们输入的值是数字类型、字符串类型、列表类型,input的接收值都是字符串类型。
格式化输出的三种方式
一丶占位符
%s(针对所有数据类型)
如:
name = "十七zz"
height = 180
weight = 140
print('my name is %s,my height is %s,my weight is %s' %(name,height,weight))
my name is 十七zz,my height is 180,my weight is 140
二丶format 格式化
name = "十七zz"
height = 180
weight = 140
print('my name is name,my height is height,my weight is weight'. format(name=name, height=height, weight=weight))
my name is 十七zz,my height is 180,my weight is 140
三丶f -String格式
相比较占位符的方式,python3.6版本新增了f-String格式化的方式,比较简单易懂,这是目前我用的最多的方式,推荐使用这种方式。
name = "十七zz"
height = 180
weight = 140
print(f'my name is name, my height is height,my weight is weight')
print(f'name*2')
my name is 十七zz,my height is 180,my weight is 140
十七zz十七zz
salary = 3.1415926
print(f'salary:.3f')
3.142
基本运算符
一丶算数运算符
a = 10 , b = 20.
二丶比较运算符
l1 = [1, 'a', 3]
l2 = [3]
print(l1 < l2) # False,列表比较从左向右比较,不同数据类型无法比较。
True
三丶赋值运算符
四丶逻辑运算符
五丶身份运算符
s和==的区别:is用于判断两个变量引用对象是否为同一个(是否在同一块内存空间中), ==用于判断引用变量的值是否相等。
六丶Python运算符优先级
优先级高的括号括起来就行了.
流程控制之if判断
一丶语法
if判断是干什么的呢?if判断其实是在模拟人做判断。就是说如果这样干什么,如果那样干什么。对于ATM系统而言,则需要判断你的账号密码的正确性。
1.1 if
if表示if成立代码成立会干什么。
1.2 if...else
if...else表示if成立代码成立会干什么,else不成立会干什么。
1.3 if...elif...else
if...elif...else表示if条件1成立干什么,elif条件2成立干什么,elif条件3成立干什么,elif...否则干什么。
二丶if的嵌套
# if的嵌套
cls = 'human'
gender = 'female'
age = 18
is_success = False
if cls == 'human' and gender == 'female' and age > 16 and age < 22:
print('开始表白')
if is_success:
print('那我们一起走吧...')
else:
print('我逗你玩呢')
else:
print('阿姨好')
以上是关于光计划1的主要内容,如果未能解决你的问题,请参考以下文章