Python 入门 03 ——Python的基本语法

1、编码
如果程序文件中有汉字,要用UTF-8编码,否则很会报语法错误。实际上为了减少不必要的麻烦,可以将所有的Python程序文件都保存为UTF-8编码。

2、注释
单行注释,在注释语句前加上井号:# ,例如:
#这是一行注释语句

多行注释,所有注释语句用三单引号括起来,例如:
‘’‘第一行注释语句
第二行注释语句
第三行注释语句’’’

3、大小写敏感。 例如, val 和 Val 是两个完全不同的变量。

4、语句
多个语句可以写在同一行,用分号“;"分隔,例如:
print(‘This is Python’); print(‘This is Python 222’)

也可以一句一行。如果是一句一行,则在句尾无需任何符号,例如:
print(‘This is Python 333’)
print(‘This is Python 444’)

5、用缩进来划分语句块
Python中的语句块不用共括号{}来划分,而是以缩进的形式来划分,同一缩进级别语句归属于同一级别的语句块。一个程序文件中没有缩进的语句,在加载时就会被运行。所以,在Python程序中,语句是不能随意缩进的。缩进通常用在条件语句、循环语句、函数定义、类定义等程序中。

6、变量类型
Python 变量类型通常有十种:数字、字符串、列表、元组、字典、集合、布尔型、空类型、文件、编程单元。一种变量类型其实就是一种类,定义一个变量,实质上就是创造一个类对象。在Python中,一切即对象。

在使用变量前,不需要声明变量名及其类型,直接赋值即可,并且变量类型随时可以改变。也就是,赋给什么类型的值,变量就是什么类型。

7、关键字 pass
关键字 pass ,表示空语句,在执行的时候什么也不会发生,就像没有一样,可以用在类和函数的定义中或者选择结构中。用 pass 语句还可以起到占位的作用,为以后软件的升级预留空间。

8、负数
(1)不论是二进制、八进制、还是十六进制,在表示负数时都同十进制一样:在数值前加一个负号“-”,例如:-110011。
(2)在计算机内部,也就是内存在存放一个数时,用首位来区分正负数 ———— 0,表示该数为正数;1,表示该数为负数。用其余位(31位)来表示数值(数的绝对值)。
(3)正数的原码、反码、补码均相同,所以,在内存中的正数(首位为0的数),可以看作是一个正数的原码,也可以看作是一个正数的反码或补码。
(4)负数的原码:首位1+ 负数绝对值的原码。例如:[-1]原码:1000…0001
(5)负数的反码:首位1+ 负数绝对值的原码取反。例如:[-1]反码:1111…1110
(6)负数的补码:负数的反码+1。例如:[-1]反码:1111 1111
(7)为把减法运算变成加法运算,在python中(一般计算机语言中也是如此),负数均以补码表示。
(8)当内存中一个数首位为1时,要将它看作是一个负数的补码。
(9)还原一个以补码表示的负数为十进制的方法是:将首位1还原为“-”,将剩余位减1,取反,算十进制值。剩余位也可以,先取反再加1。
(11)总之
负数变补码:首位置1,数值变二进制取反,加1
补码变负数:首位变-,其余位取反再加1,计算十进制值

9、运算符
x=y ———— 赋值
x+y ———— 加、列表(元组、字符串)合并
x-y ———— 减、集合求差集
x*y ———— 乘、序列重复
x/y ———— 除
x//y ———— 求整商
x%y ———— 求余数、字符串格式化
-x ———— 相反数
x**y ———— 幂运算

x+=y ———— x=x+y
x-=y ———— x=x-y
x*=y ———— x=x*y
x/=y ———— x=x/y

x>y ———— 大于
x>=y ———— 大于等于
x<y ———— 小于
x<=y ———— 小于等于
x==y ———— 相等
x!=y ———— 不相等

x and y ———— 与 (x 为假,不看y,结果直接为假;x 为真时才看y , y也真则结果为真)
x or y ———— 或 (x 为真,不看y,结果直接为真;x 为假时才看y , y也假则结果为假)
not x ———— 非
x in y ———— x 在 y 中,则为真,否则为假
x not in y ———— x 不在 y 中,则为真,否则为假
x is y ———— x、y 引用同一对象时为真,否则为假
x is not y ———— x、y 引用不同对象时为真,否则为假

& ———— 按位与,两个位都为1时,结果才为1(奇数&11;偶数&10,可用于统计奇数)。例如:

  print(11&12)    # 1011 & 1100:8
  print(11&10)    # 1011 & 1010:10

| ———— 按位或,两个位都为0时,结果才为0(奇数&10;偶数&11,可用于统计偶数)
^ ———— 按位异或,两个位相同为0,相异为1 (常用统计不相同数)

~ ———— 按位取反,0变1,1变0。从数值看实际是:~x=-(x+1)例如:

  print(~11)    # 1011 取反后为 1111 ... 0100,首位为1,看作负数的补码,数值部分取反加1后为 1100 :-12
  print(~15)    # 1111 取反后为 1111 ... 0000,首位为1,看作负数的补码,数值部分取反加1后为 0001 0000 :-16
  print(~(-9))    # 8
  print(~(-88))    # 87

<< ———— 左移,各二进位全部左移若干位,高位丢弃,低位补0。首位的负号位,不参加移位。x<<y 相当于 x*(2**y),例如:

  print(11<<1)    # 22
  print(11<<2)    # 44
  print(11<<3)    # 88
  print(-11<<1)    # -22
  print(-11<<2)    # -44
  print(-11<<3)    # -88

>> ———— 右移,各二进位全部右移若干位,对无符号数,高位补符号位(正数补0,负数补1)。首位的负号位,不参加移位。x>>y 相当于 x/(2**y)取整。可用于计算文件大小,比如2048B的文件,2048>>10 结果为2,即为2M。例如:

  print(11>>1)    # 5
  print(11>>2)    # 2
  print(11>>3)    # 1
  print(11>>4)    # 0

  print(-11>>1)    # -6
    #  11的原码为:1011
    #  11的反码为:0100
    #  -11的补码为:1111...0101
    #  右移1位后为:1...1010  (负数高位补1)
    #  还原为十进制数,取反:- 0...0101,加1:- 0...0110,-6

  print(-11>>2)    # -3
    #  右移2位后为:1...1101
    #  取反:- 0...0010,加1:- 0...0011,-3

  print(-11>>3)    # -2
    #  右移3位后为:1...1110
    #  取反:- 0...0001,加1:- 0...0010,-2

  print(-11>>4)    # -1
    #  右移3位后为:1...1111
    #  取反:- 0...0000,加1:- 0...0001,-1

  print(-11>>5)    # -1
    #  右移3位后为:1...1111
    #  取反:- 0...0000,加1:- 0...0001,-1

&、|、^ ———— 集合交集、并集、对称差集

@ ———— 矩阵相乘

———————————————— 本篇完 ————————————————

看完之后,麻烦您顺手点击下方 “点赞” 两个小字给我点个赞吧 ^-^ , 谢谢您了。

如果您还能像我小学一年级班主任好老师那样,给我随心写上几句表扬或批评的话语,那真是感激不尽!

在我人生的道路上,有了您的鼓励和指导,我一定成长快快。

发布了28 篇原创文章 · 获赞 6 · 访问量 2287

猜你喜欢

转载自blog.csdn.net/Jeff888999/article/details/103860058
今日推荐