day2-初识python总结

一.PyCharm的一些常用快捷键

ctrl+/ ——添加或者取消一行注释,任何语言通用
ctrl+s——保存
crtl+c——复制
crtl+v——粘贴
crtl+x——剪贴
crtl+n——跳转到类
crtl+f——搜索
crtl+r——搜索+替换
crtl+z——撤销
crtl+shift+z ——反撤销
crtl+a——全选
ctrl+tab——在窗口间进行切换
ctrl+shift+f10——运行编辑器配置
shift+鼠标——选中指定范围
tab——补全代码

二.Python的基础语法

  1. 注释:是程序中专门用来注释说明的文字,不会参与程序的编译和执行。对程序的功能没有任何影响。
  • 单行注释:在说明型文字前面加#。
  • 多行注释:使用三个单引号(''')或者三个双引号(""")括起来,来设置多行注释。但是一般使用三个双引号。
  1. 注意事项:程序中涉及到所有与语法相关的符号,都是在英文输入法下对应的符号。
  2. 标识符:标识符就是专门用来命名的。给变量命名、函数命名、类命名等。要求:python中的标识符要求是由数字、字母、下划线组成,并且数字不能开头。注意,在python3.x,标识符中可以包含非ASCII码字符(非ASCII码包含中文、日文、韩文、拉丁等)。但是在实际开发的时候不要用。
num = 100
_jj = 88
# 1nn = 99 # SyntaxError: invalid syntax
圣者遗物 = 3800
# n-m = 998 # SyntaxError: can't assign to operator
  1. 行与缩进:python中对代码缩进有严格要求。同一级代码前面的缩进(空格/tab)的个数必须一致。行的规范:要求声明函数和类的前后需要有两个空行。
  2. 分段(行)显示:一句代码很长,需要多行来显示的时候,可以在需要换行的位置加
    注意:加\的时候不能将一个数据,一个变量名给拆开
num = 10000 + 88888 +7891329 +\
      319826391 + 998

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

list1 = [12,
         23,
         'ddf',
         'dyf']
  1. 一行显示多条语句:一行显示一条语句的时候,后面不用加分号;但是如果希望在一行显示多条语句,那么多条语句之间必须加分号。
    print('ddf');print('dyf')
  2. 关键字(保留字):python中已经定义好的有特殊功能或者特殊意义的一些标识符,就是python的关键字。
    命名的时候不能使用关键字。
    关键字有:
    'False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class',
    'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for',
    'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal',
    'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'
import keyword #导入keyword模块
print(keyword.kwlist) #打印python中所有的关键字
#and = 100 #SyntaxError: invalid syntax
  1. print函数和input函数
  • print函数
    (掌握)
    print(内容)- 在控制台中打印内容(内容必须是python数据)。
    print(内容1,内容2,...,内容n) - 在一行打印n个内容,在控制台显示的时候n个内容之间用空格隔开。
    默认情况下,一个print中的内容占一行(以换行结束)。一个print中的多个内容用空格隔开。
    (了解)
    print(内容,内容2,...,内容n,end='换行标志')
    print(内容,内容2,...,内容n,sep='分割标志')
print('打印1') #打印1
print(100) #100
print('ddf','dyf',998) #ddf dyf 998

print('打印1',end='==') 
print(100)                         #打印1==100
print('ddf','dyf',998,sep='@') #ddf@dyf@998
print('ddf','dyf',998,sep='') #ddfdyf998
  • input函数
    input()-从控制台输入一串内容,以回车结束,并且将内容返回(以字符串的形式返回)
    input('提示信息')
    注意:程序执行到input的时候,程序会停下来,直到输入完成为止。
    print(input('请输入:'))

三.Python常用数据类型

  • python中常用的数据类型有:整型(int)、浮点型(float)、布尔(bool)、复数(complex)、字符串、列表、字典、元组、集合、函数等...
  1. 常见数据类型的字面量(常量)
    整型:100,23,-998 —— 所有的整数,包括正负。
    浮点型:9.9,45.0,-0.31415 —— 所有的小数,包括正负。
    布尔:True,False —— 只有两个值。
    字符串:'abc',"ddf",'uwqyeiqh_+_+' —— 用双引号或者单引号括起来的内容。
    列表:[12,'ddf',True]。
    元组:(23,'dyf',9.998)。
    字典:{'ab':120,18:'agb'}。
  2. 数字相关类型
  • python中和数字相关的类型:整型、浮点型、布尔、复数(虚数)
    1. 整型(int):整数对应的类型,包含所有的整数。python3.x中整数对应的类型只有一个:int。
      python2.x中整数对应的类型有:int和long。
      python中的整数,除了可以用十进制表示,还可以用二进制、八进制和十六进制进行表示。
    2. 浮点型(float):小数对应的类型,包含了所有小数。
      支持科学计数法。
      print(2e4) # 20000.0
    3. 布尔(bool):只有True和False,其中True表示真,False表示假。True实质就是数字1,False实质是数字0。
      True和False都是关键字。
      print(1+True,1+False) #2 1
    4. 复数(complex):表示所有的虚数对应的类型。
      数字后面加j,来表示复数的虚部。实部就是普通是数字。
print((10+1j)+(20-9j)) #(30-8j)
print(9j,10j) #9j 10j
  1. type函数
    type(数据) ——获取数据相应的类型
print(type(8j)),print(type(12.999)) 
#<class 'complex'>
#<class 'float'>
  1. isinstance函数
    isinstance(数据,类型) ——判断指定的数据是否是指定的类型,结果是布尔值。
isinstance(100,float) #判断100是不是float型
print(isinstance(100,float)) #False
print(isinstance(100,int)) #True
  1. 类型的强制转换
    类型名(数据) - 将指定数据转换成指定类型
    整型转换成浮点型:在整数的后面加.0 float()
    浮点型转换成整型:只保留小数点前面的整数部分 int()
    其他类型转换成布尔:0会转换成False,其他的转换成True bool()
    复数不能转成整型或者浮点型,可以转换成布尔(不管什么数据都可以转换成布尔)
print(int(12.8)) #12
print(int(True)) #1
print(float(998)) #998.0
print(float(False)) #0.0
print(bool(0),bool(3e8)) #False True
print(bool(0.00)) #False
print(complex(998),complex(True),complex(-0.8)) #(998+0j) (1+0j) (-0.8+0j)
print(bool(10+8j)) #True

#print(int(7+9j))#can't convert complex to int

四.进制

  • 加法从低位开始相加
  1. 十进制
a.基数:0,1,2,3,4,5,6,7,8,9
b.进位:逢10进1
c.位权:123=100+20+3=1*10^2+2*10^1+3*10^0  (10^n)
d.表示:所有的数字都是10进制数(数字直接写)
  1. 二进制
a.基数:0,1
b.进位:逢2进1
1+1=10
110+011=1001
101+110=1011
100-011=011
c.位权:1101(2)=1*2^0+0*2^1+1*2^2+1*2^3=13 (2^n)
d.表示:在二进制数前加前缀:0b或者0B
  1. 八进制
a.基数:0,1,2,3,4,5,6,7
b.进位:逢8进1
c.位权:123(8)=3*8^0+2*8^1+1*8^2=83 (8^n)
d.表示:在八进制数前加前缀:0o或者0O
  1. 十六进制
a.基数:0,1,2,3,4,5,6,7,8,9,A(10),B(11),C(12),D(13),E(14),F(15)
字母大小写都可以
b.进位:逢16进1
c.位权:123(16)=3*16^0+2*16^1+1*16^2=291 (16^n)
d.表示:在十六进制数前加前缀:0x或者0X
  1. 其他进制和十进制之间的转换
a.其他进制转十进制:每一位上的数*权值,然后再求和
110(2)=0*2^0+1*2^1+1*2^2=6
110(8)=0*8^0+1*8^1+1*8^2=72
110(16)=0*16^0+1*16^1+1*16^2=272
b.将十进制转换成其他进制
100=1100100(2)
`4Z2~X[0QTPA1$V$6`WT~XB.png
100=144(8)
100=64(16)
  1. 二进制和八进制、十六进制的相互转换
a.二进制转八进制:每3位的二进制转换成1位的八进制
1100100110010011100(2)=1446234(8)
八进制转二进制:每1位八进制转换成3位二进制
6745(8)=110 111 100 101
b.二进制转十六进制:每4位的二进制转换成1位的十六进制
1100100110010011100(2)=64c9c(16)
十六进制转二进制:每1位的十六进制转换成4位的二进制
6745(16)=0110 0111 0100 0101(2)
a12(16)=1010 0001 0010(2)
  1. 进制转换相应的函数 - 返回值是字符串
    bin(数字) - 将数字转换成2进制
print(bin(100),bin(0xff),bin(0o76))#0b1100100 0b11111111 0b111110

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

print(oct(100),oct(0x1af),oct(0b110001101))#0o144 0o657 0o615

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

print(hex(0b11111111),hex(100),hex(0o67))#0xff 0x64 0x37

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

num = 0xff
print(num) #255
print(0b111+0b110) #13

五.原码、反码和补码

  1. 计算机数据的存储
    计算机能够直接存储的是二进制数字,并且存的是数字的补码。

  2. 计算机内存大小单位
    位(bit)
    1字节 = 8位
    1KB = 1024字节
    1MB = 1024KB
    1GB = 1024MB
    1TB = 1024GB

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

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

  5. 补码:
    正数的补码和原码一样。负数的补码就是反码加1
    10(补码)=0 0001010
    -10(补码)=1 1110110
    注意:数据存储和运算的时候采用的是补码。看结果看的是原码。
    计算机只有加法器或者乘法器。

    以3+2为例来了解计算机计算
    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:0010(原)=0010(补)
-3:1011(原)=1100(反)=1101(补)
2-3=1111(补)=1110(反)=1001(原)=-1

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

推荐阅读更多精彩内容