您的位置:首页 > 编程语言 > Python开发

我的Python学习笔记_Day1 Python基础语法与PyCharm基本快捷键

2020-01-14 11:23 645 查看

文章目录

  • Pycharm基本快捷键
  • 进制(原码反码和补码)
  • 6. 原码反码补码
  • Python 基础语法

    1. 打印

    print('Hello world!')

    2. 注释

    单行注释:用"# "隔开的,不参与编译执行的文字(不影响程序功能),专门用来对代,码进行注解和说明的,经常写注释是良好的编程习惯

    # 单行注释

    多行注释:用""" “”"引起来

    """
    多行注释
    多行注释
    """

    3. 语句

    一条语句占一行,一条语句结束后可以不写分号

    如果一行中需要写多条语句,语句之间必须加分号

    print('a'); print(b)

    4. 缩进

    python中一条语句的开头不能随便加缩进(tab / 4*space)或空格

    if 10 > 1:
    print('10大于1')

    5. 标识符

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

    标识符的命名规范:

    1)由字母、数字或者下划线_组成(在Python3中,其实汉字、日语、汉语等也可以作为标识符,但是强烈不推荐)

    2)数字不能开头

    6. 关键字

    在Python中有特殊功能或者特殊意义的标识符就是关键字,又叫保留字

    获取关键字的语句:

    import keyword
    print(len(keyword.kwlist))
    print(keyword.kwlist)

    结果如下:

    35
    ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', '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']

    改版本python共有35个关键字

    7. 常用数据

    1)数字数据:用来表达大小的数据就是数字数据,在程序中直接写即可(支持科学计数法、复数(虚数单位为j))

    10 + 5
    -0.2 + 0.8
    2e3 + 1e2  # 科学计数法 2000 + 100
    2 + 5j  # 复数,j时必须写成1j

    2)文本数据(字符串):文本信息对应的数据,在程序中需要用引号引起来

    'I love Python!'
    "I love Python!"

    3)布尔数据:用True表示真/肯定,用False表示假/否定

    print(True)

    8. 常见的数据类型

    通过不同的数据类型对数据进行分类

    整型(int)

    浮点型(float)

    字符串(str)

    布尔(bool)

    列表(list)

    字典(dict)

    元组(tuple)

    集合(set)

    字节(bytes)

    函数(function)

    三大神器:迭代器(iter)、生成器、装饰器

    type(数据)  # 获取数据的数据类型

    9. 输入与输出函数

    1)输出函数:print()

    括号里可以写表达式,打印其结果

    同时打印多个表达式:表达式之间可以用逗号隔开

    print('打印内容')
    print(10 + 50)
    print('你好', 123, 'lll', 20 + 8)

    a. 定制换行

    默认情况下,一个print()中的内容会在一行打印

    print('Hello world', end=';')
    print('aaa')

    结果为:

    Hello world;aaa

    print()函数的end参数默认是回车,上面手动定义为分号,所以可以做到不换行打印

    b. 定制分离

    默认情况下,一个print()打印多个内容的时候,多个内容之间用空格分开

    print(1, 2, 3, 4, sep='+')

    结果为:

    1+2+3+4

    print()函数的sep参数默认是空格,上面手动定义为加号,所以可以做到如上效果

    2)输入函数:input() - 返回输入内容的字符串

    接输入内容的变量 = input(输入提示信息)

    age = input('请输入年龄: ')
    print('你今年' + age + '岁了!')
    print(type(age))

    当程序执行到input时,会暂停下来等输入,按下回车表示输入完成

    结果:

    请输入年龄: 18
    你今年18岁了
    <class 'str'>

    str表示输入函数所返回的数据类型是字符串

    Pycharm基本快捷键

    快捷键 功能
    Shift + Enter 快速插入下一行
    Ctrl + P 代码提示(在print()括号里)
    Ctrl + Alt + Space 代码提示(输print输到一半不会拼写了)
    Shift + Tab 逆缩进
    Alt + Enter 万能键
    Ctrl + / 注释/取消注释
    Ctrl + F11 订上/书签
    Ctrl + 书签号 到某书签的位置
    Shift + F11 展示所有书签
    Ctrl + Shift + F 全局查找
    Ctrl + Shift + R 全局替换
    Ctrl + 鼠标左键 简介
    Ctrl + R 替换
    Ctrl + Shift + 小键盘+ 展开全部代码块
    Ctrl + Shift + 小键盘- 收缩全部代码块
    按住Ctrl + 鼠标悬停在函数上 显示函数信息,参数等
    将光标放在选区起始位置,按住SHIFT,在点击结束位置 区域选择
    按住alt键,鼠标单机新建光标位置 多光标操作

    进制(原码反码和补码)

    数字在编程中有四种表示方式:

    十进制、二进制、八进制、十六进制

    1. 十进制

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

    2)进位:逢10进1

    3)位权:123 = 1*10^2 + 2*10^1 + 3*10^0

    4)表示方式(Python):直接写

    num1 = 123

    2. 二进制

    1)基数:0,1

    2)进位:逢2进1

    3)位权:1011(2) = 1*2^3 + 0*2^2 + 1*2^1 + 1*2^0

    4)表示方式(Python):二进制数前加0b/0B

    num2 = 0b1011

    3. 八进制

    1)基数:0,1,2,3,4,5,6,7

    2)进位:逢8进1

    3)位权:5061(8) = 5*8^3 + 0*8^2 + 6*8^1 + 1*8^0

    4)表示方式(Python):八进制数前加0o/0O

    num3 = 0o5061

    4. 十六进制

    1)基数:0,1,2,3,4,5,6,7,8,9,a(10),b(11),c(12),d(13),e(14),f(15)

    2)进位:逢16进1

    3)位权:1f(16) = 1*16^1 + 15*16^0

    4)表示方式(Python):十六进制数前加0x/0X

    num4 = 0x1f

    5. 进制之间的相互转换

    方法一: 自己算

    1)十进制转换为其他进制

    辗转取余法自己算

    图片来源于网络

    2)其他的进制转十进制

    累计求和法自己算

    图片来源于网络

    3)二进制、八进制、十六进制之间的相互转换

    a. 二转八:

    从最低位开始,三位一转

    1011011 : 011 -> 3, 011 -> 3, 1 -> 1 ; 即133

    b. 二转十六:

    从最低位开始,四位一转

    c. 八转二:

    从最高位开始,三位一转

    d. 十六转二:

    从最高位开始,四位一转

    e. 八转十六或十六转八

    先转成2进制,再转

    方法二: Python

    各进制英文单词的前三个字母,记不住可查字典

    转二进制:bin(数字)

    转八进制:oct(数字)

    转十六进制:hex(数字)

    num1 = bin(100)
    num2 = oct(100)
    num3 = hex(100)
    print(num1, num2, num3)

    结果:

    0b1100100 0o144 0x64

    6. 原码反码补码

    正数的原码、反码、补码是一样的,都是原码

    计算机底层存储数据只能存数字,并且存的是数字的补码,运算也利用的补码

    计算机内存大小(最小单位是位):

    1 bytes(字节) = 8 bit(位)
    1 Kb = 1024 bytes
    1 Mb = 1024 kb
    1 Gb = 1024 Mb
    1 Tb = 1024 Gb

    向计算机申请内存时,最小的申请单位是1字节,所以原码位数都是8的倍数

    强语言(C、Java等)在申请内存时,很容易造成内存浪费/溢出

    弱语言(Python等)是动态申请的,需要多少申请多少。所以python可以计算9999**9999。

    1)原码

    原码 = 符号位 + 数字对应的二进制

    即在数字的二进制的最前面加上符号位

    符号位上0表示正,1表示负

    10(10) -> 1010(2)
    原码:00001010
    -10(10) -> 10001010(原码)

    2)反码

    反码就是原码的符号位不变,其他位全部取反

    -10 -> 10001010(原码)
    反码:11110101

    反码存在的意义就是计算补码

    3)补码

    补码就是反码加1

    -10 -> 11110110(补码)

    课堂练习:求130 和 -130 的原码反码补码

    130
    0000000010000010  原码
    0000000010000010  反码
    0000000010000010  补码
    
    -130
    1000000010000010  原码
    1111111101111101  反码
    1111111101111110  补码

    切记:正数的三码都一样!!!!!!!!

    为什么计算机只存补码?

    计算机只有加法器,不能进行直接的减法运算
    
    3 + 2 = 5
    3:00000011(原码)
    2:00000010(原码)
    00000011 + 00000010 = 00000101
    
    3 - 2 = 1
    3:00000011(原码)
    -2:10000010(原码)
    若直接原码加:00000011 + 10000010 = 10000101
    结果是10000101 = -5  错误!!!
    补码计算:
    3:00000011(补码)
    -2:11111110(补码)
    00000011 + 11111110 = 00000001(补码)(由于是两个1字节相加,所以结果只能是1字节,高出的舍弃)
    结果是1  正确!!!

    同样切记:正数的三码都一样!!!!!!!!!

    课堂练习:-130 + 20

    -130
    1000000010000010  原码
    1111111101111101  反码
    1111111101111110  补码
    
    20
    00010100  原码、反码、补码
    
    1111111101111110 +
    0000000000010100 =
    1111111110010010  (补码)
    1111111110010001  (反码)
    1000000001101110  (原码)
    
    结果是-110
    • 点赞 3
    • 收藏
    • 分享
    • 文章举报
    fhlsyol 发布了23 篇原创文章 · 获赞 23 · 访问量 1090 私信 关注
    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: