day2总结-Python中的基本语法

图片发自简书

一 编程中的快捷键

ctrl+s - 保存
ctrl+c - 复制
Ctrl+v - 粘贴
ctrl+f - 搜索
Ctrl+n - 新建
Ctrl+r - 搜索+替换
ctrl+z -撤销
ctrl+shift+z-反撤销
tab /Enter - 补充代码
注意事项:
1.程序中所涉及的所有符号都是英文状态下的.
2. print,是python内置函数,作用是用来打印括号中的内容,单引号是字符串的标志

二 Python的基础语法

1.注释

注释是程序中的注释性说明的文字,不会参与程序的编译和执行

2.方法

  • 单行注释:在说明性文字前面加#号键
  • 多行注释:直接用三个单引号或者三个双引号括起来用来设置多行注释;但是一般使用三个双引号

*标识符: 标识符专门是用来专门命名的,给函数命名,变量命名,类命名等

(python中的标识符要求是有数字,字母和下划线组成,并且不能数字开头。
注意,在Python3.x中,标识符中可以包含非ASCII码(非Asscii包含中文,日文、韩文、拉丁文等)但是在实际开发中不要用)

例如:
num = 100
4ee = 100 SyntaxError: invalid syntax(语法错误,无效语法;数字开头)

3.行与缩进

  • Python对里面的所有代码都有严格的要求,格式上下要一致,不然会报错。同一级的的代码前面的缩进(空格/tab)的个数必须一致。一般一个tab表示一个缩进,空格也可以

  • 行的规范:要求声明函数和类的前后都需要两个空格

4.分(段)行显示

  • 一句代码很长,需要多行显示的时候,需要在换行的位置加 /

eg:num = 267687 + 98080980+6987798

如果代码是列表、元祖、字典、集合的书面量,可以直接换行,不用加/

5.一行语句显示多行

print('267868763');print('687hdsjh')

  • 一行显示语句的时候,后面不用加分号,一行显示多行的语句的时候,后面加分号

6.关键字(保留字)

python 中已经定义好的有特殊功能或者特殊意义的的一些标识符,就是Python的关键字在命名的时候不能用。(关键字不是很多。)

import keyword #导入keyword模块
print(keyword.kwlist)

7print 函数和input函数

  • print (内容)-在控制台中打印内容(内容必须是Python数据)
  • print(内容1,内容2.。。内容n)-在一行打印多个内容在控制台显示的时候,多个内容之间空格用
    默认情况下,一个print占一行,一个print打印多个内容用空格隔开

print(内容1,内容2.。。内容n,sep='')

print('111', 'hui')

*input() -从控制台输入一串内容,以回车结束,并且将内容返回(以字符串的形式返回)
input(’提示信息')

print(input('请输入:'))

三 Python中常用的数据类型

python中常用的数据类型有:整型、浮点型、布尔、字符串、列表、字典、元祖、集合、函数等

1.常见数据类型的字面量 (常量)

a.整型: 100, 23, -129 -- 所有的整数
b.浮点型: 12.3, 45.0, -0.1123 -- 所有的小数
c.布尔: True, False -- 只有两个值
d.字符串: 'abc', "ahjs", '348sj', "上的+-" -- 由双引号或者单引号括起来的内容
e.列表: [12, 'abc', True]--中括号括起来的内容
f.元祖:(23, 89, 'asd')---用小括号括起来的内容
g.字典:{'ab': 120, 18:'abc'}---用大括号括起来的内容

eg:
100--整型
12.3-浮点型
True-布尔值
'348sj'--字符串
[12, 'abc', True]--列表
(23, 89, 'asd')--元祖
{'ab': 120, 18:'abc'}---字典

2.数字相关类型

python中和数字相关的类型:整型、浮点型、布尔、复数(虚数)

  • a.整型(int):整数对应的类型,包含了所有的整数。python3.x中整数对应的类型只有一个:int
    python2.x中整数对应的类型有:int和long

  • b.python中的整数,除了可以用十进制表示,还可以用二进制、八进制和十六进制进行表示

  • a.浮点型(float): 小数对应的类型,包含了所有小数。支持科学计数法
    eg:
    12.90
    -12.03
    2e4 # 20000.0
    print(2e4)
    print(3e-2)
  • c.布尔(bool): 只有True和False, 其中True表示真,False表示假。
    True实质就是数字1,False实质是数字0
    True和False都是关键字
    证明:
    print(True, False)
    print(1+True, 1+False)
  • d.复数(complex): 所有的虚数对应的类型
    数字后面加j,来表示复数的虚部。实部就是普通数字
    eg:
    10+1j
    20-9j
    print((10+1j)+(20-9j))

3.type函数

type(数据) - 获取数据对应的类型

print(type(10+2j))

4.isinstance函数

isinstance(数据,类型) - 判断指定的数据是否是指定的类型,结果是布尔值

isinstance(100, float) ----- 判断100是否是float类型
print(isinstance(100, float)) # False
print(isinstance(100, int)) # True

5.类型的强制转换

  • 类型名(数据) - 将指定数据转换成指定类型
  1. 整型转成浮点型: 在整数的后面加.0 float()
  2. 浮点型转换成整型: 只保留小数点前面的整数部分 int()
  3. 其他类型转布尔: 0转换成False,其他的转换成True bool()
  • 注意:复数不能转换成整型和浮点型,可以转换成布尔类型(不管什么数据都可以转换成布尔)

eg:
print(float(False))
print(int(False))
print(bool(10+10j))

4.数型的进制

1.十进制

a.基数:0,1,2,3,4,5,6,7,8,9

23
123
90
89
77677676

b.加法运算:逢10进1
c.位权(数码所表示的数值等于该数码本身乘以一个与它所在数位有关的常数):123 = 110^2 + 210^1 + 3*10^0 (10^n)
d.表示: 所有的数字都是10进制数(数字直接写)

eg:
123
10
78
67

2.二进制

  • a.基数: 0,1

  • b.加法运算: 逢2进1

1+0 = 1
0+1 = 1
0+0 = 0
1+1 = 0 -- 进1
110 + 011 = 1001
101+110 = 1011

  • c.位权: (2^n) 从右起开始,每一个数字表示的是 :数字2^(n-1)
    例如:
    1101(2) = 1
    2^0 + 02^1 + 12^2 + 1*2^3 = 13

  • d.表示: 在二进制数前加前缀:0b或者0B

0b10101
0B01010
0b2100 ---SyntaxError: invalid syntax (二进制的表示中,不能出现比基数大的数字)

3.八进制

  • a.基数:0,1,2,3,4,5,6,7

  • b.进位:逢8进1

  • c.位权: (8^n)
    123(8) = 38^0 + 28^1 + 1*8^2 = 83

  • d.表示:在八进制数加前缀:0o或者0O

0o12
0O67

4.十六进制
  • a.基数:0,1,2,3,4,5,6,7,8,9,a(10),b(11),c(12),d(13),e(14),f(15)
    字母大写和小写都可以
    123
    12a
    ff
    ef
    abc
    abc12

  • b.进位:逢16进1

  • c.位权: 123(16) = 316^0 + 216^1 + 1*16^2 (16^n)

  • d.表示: 在十六进制数的前面加前缀:0x或者0X

0x12a
0Xffee
0X1023

5.其他进制和十进制之间的转换

a.其他进制转十进制:每一位上的常数乘以权值,然后再求和,就是该数字十进制的表示方法

110(2) = 12^1 + 12^2 = 6(10)
110(8) = 18^1 + 18^2 = 72(10)
110(16) = 116^1 + 116^2 = 272(10)

b.将十进制转换成其他进制: 用该数处于它的进制位,保留余数,直到商数小于进制位后,从把余数倒叙排列,就是该数值,转化为十进制的数值

100(10) = 1100100(2)
100(10) = 144(8)
100(10) = 64(16)

79(10) = 1001111(2)
79(10) = 117(8)
79(10) = 4f(16)

6. 二进制和八进制十六进制的相互转换

(因为2和8和16是次方关系,之间转换很简单)

  • a.二进制转八进制:每3位的二进制转换成1位的八进制(因为8是2的三次方)

例如:
001100100110010011100(2) = 1446234(8)

八进制转二进制:每1位8进制,转换成3位的二进制
6745(8) = 110 111 100 101(2)

  • b.二进制转十六进制:每4位的二进制转换成1位的十六进制
    0110 0100 1100 1001 1100(2) = 64c9c(16)

十六进制转二进制:每1位16进制,转换成4位的二进制(前面用数字0补充够四位)
6745(16) = 0110 0111 0100 0101(2)
a12(16) = 1010 0001 0010(2)
"""

7.进制转换相应的函数 - 返回值是字符串

    1. bin(数字) - 将数字转换成2进制

例:
print(bin(100))
print(bin(0x6745))
print(bin(0o76))

*2. oct(数字) - 将数字转换成8进制

例:
print(oct(100))
print(oct(0x1af))
print(oct(0b110001101))

    1. hex(数字) - 将数字转换成16进制

例:

print(hex(100))
print(hex(0o67))
print(hex(0b11011101110))

  1. 所有进制最后会自动转换成10进制

num = 0xaf
print(num)

代码 print(0b111 + 0b110)

5. 源码、反码和补码

1. 计算机的存储

计算机能够直接存储的是数字(仅为二进制数字,也就是1和0),并且存储的是数字的补码。

2.计算机内存大小单位
计算机最小的储存单位是 位(bit)
1字节 = 8位

1KB = 1024字节
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB

3.原码:符号位+真值 (用最高位表示符号位,即他的正负,后面的其他数值表示该值的二进制数值)
符号位: 0 表示 正数, 1 表示负数。
真值 :数字对应的二进制值
10(原码) = 00001010
-10(原码) = 10001010

4.反码:
正数的反码和原码一样。
负数的反码是符号位不变,其他位上的数取反(0变成1,1变成0)
10(反码) = 00001010
-10(反码) = 11110101

5.补码:
正数的补码和原码一样。负数的补码就是反码加1
10(补码) = 00001010
-10(补码) = 11110110

注意:数据存储和运算的时候采用的是补码。看结果看的是原码

如果计算机存储的是原码:
3:0011
2:0010
3+2 = 0101 = 5

原码:
3-2 = 3+(-2) = 1101 = -5
3: 0011
-2:1010

补码:
3(补) = 0011
-2(补) = 1101(反) = 1110(补)
0011(补)+1110(补) = 0001(补) = 0001(原) = 1

例如运算2-3=
2:0010(原)= 0010(补)
-3:1011(原) = 1100(反)= 1101(补码)
0010(补)+ 1101(补码) = 1111(补码)= 1110(反) = 1001 = -1
"""
print(bin(53))


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

推荐阅读更多精彩内容