day-03 变量和运算符

变量就是在程序中用来保存数据的容器

1.申明变量(定义变量)-假申明
语法:
变量名=值
说明:
变量名-要求:标识符(关键字不能用来命名)
规范:a.遵守PEP8的命名规范(名字所有字母都小写,如果多个单词组成,单词之间用下划线隔开)
student_name
b.见名知义(看到名字就知道意思)
= - 赋值符号(将=右边的值赋给左边的变量)
值 - 可以是任何有结果的表达式 如 234 变量-10+20,调用函数表达式

age = 18
name = '小明'

变量必须先申明(赋值)再使用
使用变量就是使用变量中保存的值

print(age)

同时申明多个变量,并且赋一样的值

num1=num2=num3=10
print(num1,num2,num3)

同时申明多个变量,并且赋不一样的值。(变量的个数要和值的个数保持一致)
x, y,z = 10, 20, 30
print(x, y, z)```

给同一个变量赋值,后赋的值会覆盖先赋的值

num4=4
num4=8
print(num4)
num4='li zheng li wo ai ni '同一个变量可以存储不同类型的值
print(num4)

2.申明变量和给变量赋值的本质
结论:
python中所有的变量存的都是数据在内存中的地址。不管存的什么内存地址大小一样
用一个变量给另外一个变量赋值,实质是将变量中的地址赋给另一个变量
使用变量的时候,是使用变量中地址对应的值
C 中申明变量:
类型 num=10
int num=10

python中申明变量:(随便什么类型都行)

num=100
num='afthbvcxvsdv
num5=413423595639847638759285986123758274385728437528735827
print(num5)

3,变量的三要素:值,地址,类型
值:变量中存的地址对应的值
地址:变量中存储的地址
类型:变量中存的地址对应的值的类型

name1='小明'
name2=name1
print(name1)
print(id(name1),id(name2))#   id(变量)获取变量中存储的地址
print(type(name1))

python中的运算符:数学运算符,比较运算符,逻辑运算符,赋值运算符,位运算符

一、数学运算符:+,-,,/,%,//,*

+:加法, -:减法, *:乘法, /:除法, %:取余数(求余数), //:整除, **:幂运算(求多少次方)

print(10+20)
print(10-20)
print(10*20)
print(10/20)
%-取余

应用1:获取一个整数的最低的一位或者几位的值
应用2:判断一个数能否被另外一个数整除 (num1 % num2)

print(10%3)
获取一个数的个位数
num = 4873658583
print(num % 10) #3
print(num % 1000)#583

// - 整除(求商,获取商的整数部分)
负数整除的时候,如果商是负的小数,(小数点后的值大于0),最后的结果是整数部分减一
print(5 // 2) #2
print(53682349198259//563876583)
print(3.9//3) #1.0
num=765
print(num//100) #取num的百位上的值

**-幂运算

x**y - 求x的y次方

print(210) #2的10次方
print(9
0.5) #9开平方
print(8**(1/3))#8开3次方

二、比较运算符:> , < , ==(等于) , !=(不等于) , >= , <=

所有比较运算符的运算结果都是布尔值

print(100>10)
print(3<1)

三、逻辑运算符 : and, or, not
逻辑运算符的运算对象都是布尔值,运算符结果也是布尔值

and(逻辑与运算)
值1 and 值2:判断值1和值2 是否为真。如果值1和值2都为True,结果才是True,只要有一个False结果都是False

逻辑与运算相当于生活当中的’并且‘,当多个条件需要同时满足就用and链接在一起
grade = 99; score = 89
要求考试成绩大于90并且表现分大于95才能拿奖学金

print('是否获得奖学金',grade>90 and score>95)

or (逻辑或运算)
值1 or 值2:如果值1和值2中一个是True,结果就是True,两个都是False,结果才是Fasle
逻辑或运算,相当于生活中的或者,当多个条件中至少有一个条件满足就使用or将多个条件连在一起

print('是否拿奖学金',grade>90 or score>95)

not(逻辑非运算)
not 值:如果值是Ture,结果就是False.如果值是False,结果就是Ture
用法:对某个条件进行否定

age=21
是否能够进入网吧的条件:年龄不少于十八
print('是否能进入网吧',not age<18)
print('是否能进入网吧',age>18)
and or not 都是关键字

赋值运算符:= ,+= ,-= ,= ,/= ,%= ,//= ,*=

赋值符号的左边必须是变量;组合的赋值运算符的左边的变量必须已经赋值
所有的赋值运算符最终都会进行赋值操作

= 直接将右边的结果赋给左边的变量
num=5

+= ,-= ,= ,/= ,%= ,//= ,*=

变量 += 值 相当于 变量 = 变量 + 值
变量 -= 值 相当于 变量 = 变量 - 值
变量 *= 值 相当于 变量 = 变量 * 值
变量 /= 值 相当于 变量 = 变量 / 值

num1=1
num1 += 10 num1=num1 + 10 = 10
print(num1)
num1%=22
print(num1)

运算符的优先级

数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
优先级高的先算(有括号先算括号)
数学运算符中 ** > * / % //

num =10+20 > 25 and True < 2

位运算 &(按位与运算), |(按位或运算), ^(按位异或), ~(按位取反),<<(左移), >>(右移)

位运算是针对二进制中的每一位进行的相关操作
数字1 & 数字2 (二进制的每一位进行与运算,运算的时候如果都为1,结果就是1,否则就是0)
11010 & 00111 = 00010
1&1=1
与的特点: 一位上的数如果和1与,就会保留这一位上的数,如果和0与,就会置0
与运算的应用:快速判断一个数是否是偶数(最优解答)
将数字和1 与,如果结果是0就说明这个数是偶数,如果结果是1,就说明这个数是奇数

print(3&2) # 3(原码)=0011 2(原码)=0010 3 & 2 = 0011 & 0010 = 0010
print(4&1)
print(6&1)
print(8&1)
print(3&1)
print(571&1)

按位或运算: 数字1 | 数字2 (如果有一位是1,结果就是1,两个都是0,结果才是0)
1|1=1
1|0=1
0|1=1
0|0=0
3|2=011|010=

print(-3|-20)

按位取反 ( 数字 ) 将每一位取反,1变0,0变1 。
~1=0
~0=1

print(~2)

按位异或
数字1 ^ 数字2 每一位相同为0,不同为1
判断两个数是否相同
1^1--0
1^0--1
0^0--1
112--0101100010=01001(补码)=9

print(11^2)
num=10
print(num^10)

左移
数字 << n(位数)--左移指定位数就是在二进制的后面加指定个数个0

右移>>n(位数)--将数字的二进制位向右移指定位数(将低位删除指定位数)
相当于:数值1//(2**n)
20>>
10100>>1=1010=10
10100>>2=101=5
10100>>3=10=2
10100>>4

1.什么是字符串(str)
字符串是python中一种常用的有序但是不可变的容器类的数据类型,可以同时存储多个字符。属于序列
使用单引号或双引号或者双括号将任意字符括起来,就是字符串常量
'glkjdfgkjfgkjl沙发哈4223235'

字符:字符串中的每一个单元。注意python中只有字符概念,没有字符类型

字符串中的内容
普通字符:包含数字字符,字母,普通的符号:
转义字符:通过反斜杠将一些字符转化成有特殊功能或者特殊意义的字符
\n---换行
\t---制表符
'---表示一个普通单引号
"---表示一个双引号
\---表示一个
注意:一个转义字符代表一个字符

print('fdsfsfsdfsdf\tfjkddl')
print('sdasfafa\tfsadfdf')

阻止转义:在字符串前面加r/R,可以阻止转义字符转义

print(r'1231231\t34234')
print(0x13&0x17)
print(2&3)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,907评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,987评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,298评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,586评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,633评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,488评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,275评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,176评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,619评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,819评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,932评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,655评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,265评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,871评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,994评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,095评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,884评论 2 354

推荐阅读更多精彩内容

  • 一、快捷键 ctr+b 执行ctr+/ 单行注释ctr+c ...
    o_8319阅读 5,816评论 2 16
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,149评论 0 13
  • 数据类型转换: 1.当赋值符号两边的数据类型不同的时候,数据类型转换是自动的,不需要程序员插手 当给 int 类型...
    Munin_阅读 812评论 0 2
  • 食、色,性也。 朋友想开个美食趴,找我给她写请柬好发到朋友圈里去。我的第一句话就是—— 最浓...
    WindyGao阅读 260评论 0 0
  • 传说每一只蝴蝶都是从前的一朵花的鬼魂,回来寻找它自己。秋凉如水的夜,花开的声音袭来,谁都知道花的美丽,却不知...
    阳光醉是夕阳美阅读 456评论 0 4