Day-03 python初步了解

Python 支持的运算符:数学运算符、比较运算符、逻辑运算符、赋值、位

1.数学运算符: + - * / //(整除) %(取余) **(幂运算)

print(5 / 2)结果和数学运算一样

print(6.3 /3)python中能用小数进行/ 和 //

print(5 // 2)数字一整除数字二结果只取整数部分

幂运算 x**y 求x的y次方
print(8 ** (1/3))
print(16 ** 0.5)
print(10 ** 4)

image

运算符的对象不一定是数据 也可以是存数据的变量

2.比较运算符 >,<, ==,!=,>=,<=

其所有结果均为布尔值(True,False)

image
age = int(input(""))
if age > 10:
        print('what u input is bigger than 10')
elif age == 10:
        print("ten")
else:
        print("is smaller than 10")

补充: is的使用
一个变量有三要素,类型(变量中存储的数据类型),值(储存变量的数据),地址(变量中真正的地址)

num = 100
print(type(num),num,id(num))

结果如下:

<class 'int'> 100 8791178264496

==:判断变量的值是否相等
is :判断地址是否相等

list1 = [1,2]
list2 = [1,2]
list3 = list1
print(list1 == list2, list1 is list2, id(list1), id(list2))
print(list1 == list3, list1 is list3, id(list1), id(list3))

其结果如下

True False 4153928 4153992
True True 4153928 4153928

用一个变量给另一个变量赋值时 是将变量中的存储的数据的地址给另外一个变量

num1 = 100
num2 = 100
num3 = num1
print(id(num1), id(num2), id(num3))

结果如下

8791178264496 8791178264496 8791178264496

因为python会对数字和字符串做缓存作为常用数据备份 内存空间中已经存在了这个值就不会新开辟内存空间

3.逻辑运算符:and(与),or(或) , not(非)

逻辑运算符的运算对象和运算结果都是布尔值

and 与

值1 and 值2 --->两个都是True结果才为True
True and True ->True
False and True ->False
其他均为False要求多个条件同时满足的时候,就使用逻辑
运算

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

结果如下:

是否能拿奖学金 False

or 或

如果两个都是False,否则结果为True

多个条件中只要有几个条件满足,就使用逻辑或运算

短路操作:与:如果第一个条件是False,就不会去判断第二个条件,直接让整个与运算为False
或:如果第一个条件是True,就不会去判断第二个条件,直接让整个或运算为True

grade = 70
is_inclass = True
print('是否处分',grade < 60 or not is_inclass)
grade = 55
print('是否处分',grade < 60 or not is_inclass)

结果如下 :

是否处分 False
是否处分 True

not 非

例子同上
not True -> False
age = 20
print(not age < 10 )

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

赋值符号的左边必须是变量;右边必须是有结果的
a. 变量 = 结果 --> 将结果赋给变量

b.复合赋值运算符要求赋值符号的左边必须必须是一个已经赋值变量

5.运算符的优先级

数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符

数学运算中:** > *,/,%,// > +,-

优先级高的先算,优先级后算,如果有(),先算()里面

print(True + 10, False + 10)

结果如下:

11 10

2 数字类型

1 整型(int) 包含所有整数支持 十进制 二进制 八进制 十六进制
num0 = 123 #十进制,直接写
num1 = 0b110101 #二进制 0b 加二进制数
num2 = 0o127 #八进制 0o 加八进制数
num3 = 0x89af #十六进制0x 加十六进制数

print('十进制',123,'二进制',bin(123),'八进制',oct(123),'十六进制',hex(123))

运算结果如下:十进制 123 二进制 0b1111011 八进制 0o173 十六进制 0x7b

十进制 123 二进制 0b1111011 八进制 0o173 十六进制 0x7b

2 浮点型(float): 包含所有小数,支持科学计算
num1 = 12.5
num2 = 3.25e2 #代表3.25乘以10的2次方

  1. 布尔型(bool): 数学运算中值只有True ==1 和 False == 0

  2. 复数(complex): 实部+虚部j , 注意: j前面必须有数字,不能省略



字符串 (str)

通过单引号或者双引号括起来的字符集

str1 = 'abc'
str2 = 'abc123'

是python自己提供的一种容器型数据类型, 一个字符串中可以存多个字符,python中只有字符的概念,没有字符类型

如果在python中表示一个字符,就用一个长度是1的字符串来表示
字符串不可变但是有序

字符串中的字符
a.普通字符:包括一般的字母,数字,符号,其他文字,'a','G','1'

b.转义字符: 通关在一些特定的字符前加, 来表示特殊的功能或者意义。

'\n' -换行, ' 引号本身, ",\,\t 表示一个table 即缩进

注:1.没有阻住转义的时候,一个转义字符的长度是1,一个空格也是一个字符
2.可以再字符串最前面加r/R,来阻止转义

str1 = 'abc\n123'
str2 = 'hello\'z'
str3 = '\\n'
str4 = r'\\n'
print(str1,str2,str3,str4)

str8 = '\t姓名:小白\n\t年龄:18'
str9 = r'\t姓名:小白\n\t年龄:18'
print(str8)
print(str9)

结果如下:

abc
123 hello'z \n \\n
    姓名:小白
    年龄:18
\t姓名:小白\n\t年龄:18

c.编码字符:在字符串中用'\u' + 四位十六进制编码值表示一个字符

str9 = '你好\u4e00'
print(str9)

结果为

你好一
  1. 字符编码

计算机只能存数字数据,在存储数据时只能存数字的二进制补码

10 -> 转换成二进制 -> 求补码 (存)

a -> 97

字符的编码就是为了将字符存储到计算机中,给每个字符对应的一个固定的数字

目前计算机采用的编码方式有两种,分别是ASCII和Unicode码表 Python 种用的是Unicode
ASCII是用一个字节对字符进行编码(总共有128个字符)
Unicode包含ASCII,两个字节对字符进行编码,包含了世界上所有的语言和符号。

小写字母编码范围(a-z)97-122
大写字母编码范围(A-Z)65-90
中文编码范围 0x4e00-0x9fa5

字符编码相关的函数
a.chr(编码值) - 获取编码对应字符

print(chr(0xA020))
结果如下:
ꀠ

b.ord(字符) - 获取字符的编码值,返回的是十进制

print(ord('巧'))
结果如下:
24039
循环打印编码范围内的字符
for x in range(0x1800,0x18AF+1):
    print(chr(x),end = ',')

结果如下:

᠀,᠁,᠂,᠃,᠄,᠅,᠆,᠇,᠈,᠉,᠊,᠋,᠌,᠍,᠎,᠏,᠐,᠑,᠒,᠓,᠔,᠕,᠖,᠗,᠘,᠙,᠚,᠛,᠜,᠝,᠞,᠟,ᠠ,ᠡ,ᠢ,ᠣ,ᠤ,ᠥ,ᠦ,ᠧ,ᠨ,ᠩ,ᠪ,ᠫ,ᠬ,ᠭ,ᠮ,ᠯ,ᠰ,ᠱ,ᠲ,ᠳ,ᠴ,ᠵ,ᠶ,ᠷ,ᠸ,ᠹ,ᠺ,ᠻ,ᠼ,ᠽ,ᠾ,ᠿ,ᡀ,ᡁ,ᡂ,ᡃ,ᡄ,ᡅ,ᡆ,ᡇ,ᡈ,ᡉ,ᡊ,ᡋ,ᡌ,ᡍ,ᡎ,ᡏ,ᡐ,ᡑ,ᡒ,ᡓ,ᡔ,ᡕ,ᡖ,ᡗ,ᡘ,ᡙ,ᡚ,ᡛ,ᡜ,ᡝ,ᡞ,ᡟ,ᡠ,ᡡ,ᡢ,ᡣ,ᡤ,ᡥ,ᡦ,ᡧ,ᡨ,ᡩ,ᡪ,ᡫ,ᡬ,ᡭ,ᡮ,ᡯ,ᡰ,ᡱ,ᡲ,ᡳ,ᡴ,ᡵ,ᡶ,ᡷ,ᡸ,᡹,᡺,᡻,᡼,᡽,᡾,᡿,ᢀ,ᢁ,ᢂ,ᢃ,ᢄ,ᢅ,ᢆ,ᢇ,ᢈ,ᢉ,ᢊ,ᢋ,ᢌ,ᢍ,ᢎ,ᢏ,ᢐ,ᢑ,ᢒ,ᢓ,ᢔ,ᢕ,ᢖ,ᢗ,ᢘ,ᢙ,ᢚ,ᢛ,ᢜ,ᢝ,ᢞ,ᢟ,ᢠ,ᢡ,ᢢ,ᢣ,ᢤ,ᢥ,ᢦ,ᢧ,ᢨ,ᢩ,ᢪ,᢫,᢬,᢭,᢮,᢯,

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