Python入门

本文介绍了Python中的基础概念,包括对象结构、内存管理、标识符命名规则、变量声明与删除、常量特性、运算符使用(包括比较、逻辑和位运算)、数据类型(如整型、浮点型、布尔型等)、时间和序列操作。

1.对象

每个对象由:标识(identity)、类型(type)、value(值)组成

对象的本质就是:一个内存块,就好像一个小箱子,里面包含了特定的值,支持特定类型的相关操作

实操:打印出对象的值,标识(地址),类型

a=3
print(a)          #3
print(id(a))      #id:   140722005402472
print(type(a))    #type: <class 'int'>
b='我爱Python'
print(b)          #我爱Python
print(id(b))      #id:   2346153006384
print(type(b))    #type: <class 'str'>

2.标识符(命名规则)

编写代码使,我们需要创建各种各样的名称用来辨识,但是创建名称需要遵循规则:

  1. 第一个字符必须是字母、下划线。其后的字符是:字母、数字、下划线
  2. 不能使用关键字。比如:iforwhile
  3. 双下划线开头和结尾的名称通常有特殊含义,尽量避免这种写法。比如:__init__是类的构造函数

接下来是一些常用规则: 

类型规则例子

模块和包名

全小写字母,尽量简单。若多个单词之间用下划线math, os, sys
函数名全小写字母,多个单词之间用下划线隔开phone, my_name
类名首字母大写,采用驼峰原则。多个单词时,每个单词第一个字母大写,其余部分小写MyPhone、MyClass、Phone
常量名全大写字母,多个单词使用下划线隔开SPEED、MAX_SPEED

3.变量

变量的声明和初始化(赋值)

用于将一个变量绑定到一个对象上,格式:变量名 = 表达式(例:a = 3)

变量名 = 表达式
a = 3

变量的删除

可以通过del语句删除不再使用的变量。

a = 3
del a
print(a) #报错,因为a已经被删除,找不到a

4.常量

常量的修改

常量在逻辑上不可修改,但实际上常量可以修改。

A = 120
print(A)  #输出120
A = 140   #逻辑上不能修改,实际是可以改的。
print(A)  #输出140

链式赋值

链式赋值用于同一个对象赋值给多个变量。比如我们可以用一行代码,让x与y同时赋值123

x = y = 123
print(x)    #123
print(y)    #123

image-20211024145311057

系列解包赋值

系列数据赋值给对应相同个数的变量(个数必须保持一致)

a,b=1,2 相当于:a=1;b=2

a,b=1,2
print(a,b)  #输出1 2

同时可以实现变量值互换

a,b=1,2
a,b=b,a     #变量值互换
print(a,b)  #输出2 1

5.基本内置数据类型

  1. 整型 int

    整数: 1,12,123,1234

  2. 浮点型 float

    小数: 3.14或者科学计数法314e-2(e-2=10^-2)

  3. 布尔型 bool

    表示真假,仅包含:TrueFalse

  4. 字符串型 str

    由字符组成的序列:  'abc','月木天上','python研发部'

运算符

运算符基本运算符

/浮点数除法8/24.0
//整数除法7//23
%模(取余)7%43
**2**38

        

同一运算符

is 与 == 区别:

  1.is ,is not用于判断两个对象引用的变量是否为同一个,即判断对象的地址(标识)是否相同

a=100
b=100
c=30


print(a is b)      #执行结果:True,因为a和b是同一个对象
print(a is c)      #执行结果:False,因为a和c不是同一个对象

  2.== 用于判断引用变量引用对象的值是否相等,默认调用对象的 __eq__()方法。

a=100
b=100
c=30

print(a == b)  #执行结果:True,因为a和b的值相同
print(a == c)  #执行结果:False,因为a和c的值不同

 总结:is判断地址是否相同,==判断值是否相同,is 运算符比 == 效率高,当变量None进行比较时,应该使用 is

        

成员运算符

in与not in

如果在指定的序列中找到值返回 True,否则返回 False

a = "python123"
b = "py"
c = "123"

print(b in a)    #True
print(c not in a)  #False
增强型赋值运算符

运算符+-*///**%和赋值符  = 结合可以构成“增强型赋值运算符”。

运算符例子等价
+=a += 2a = a + 2
-=a -= 2a = a-2
*=a *= 2a = a * 2
/=a /= 2a = a / 2
//=a //= 2a = a//2
**=a **= 2a = a**2
%=a %= 2a = a % 2

        

整数

三种进制

                         二进制:     0b0B开头,后面字符包含有 0 1

         八进制:     0o0O开头,后面字符包含有0 1 2 3 4 5 6 7

         十六进制: 0x0X开头,后面字符包含有0 1 2 3 4 5 6 7 8 9 a b c d e f

a=0b101001
print(a)    #根据二进制转换输出44
类型转换 bin()

将数字转化为二进制。如:bin(44) = 0b101100
 

类型转换 int()

  1. 将浮点数化为整数。如:int(9.9)结果是:9
  2. 将布尔值化为整数,True1False0。 如:int(True)结果是1

自动转型

整数和浮点数混合运算时,表达式结果自动转型成浮点数。比如:2+8.0的结果是10.0

        

浮点数

类型转换 float()

 将整数转换为浮点数。int(3)结果是:3.0

四舍五入 round()

可以返回四舍五入的值。但不会改变原有值,而是产生新的值。round(12.4)的结果是12

     

布尔值

布尔值本质

布尔值True本质为1,False为0,是数字 (注意首字母大写)

a = 1 + True

print(a)    #输出:2

在Python语言中有一些特殊的布尔类型值为False

例如:False、0、0.0、空值None、空序列对象(空列表、空元祖、空集合、空字典、空字符串)、空range对象、空迭代对象。

空字符串                                bool("")             输出False
空列表                                    bool([])             输出False
None布尔类型                        bool(None)      输出False
0布尔类型                               bool(0)             输出False

其他情况,均为True。 比如:

数字类型                                 bool(1)              输出True                          
字符串True和False转成布尔  bool("False")    输出True

逻辑运算符
运算符格式说明
or 逻辑或print(x or y)x为true,则不计算y,直接返回true;x为false,则返回y
and 逻辑与print(x and y)x为true,则返回y的值,x为false,则不计算y,直接返回false
not 逻辑非print(not x)x为true,返回false;x为false,返回true
比较运算符
运算符描述实例
==等于 - 比较对象的值是否相等(a == b) 返回 False。
!=不等于 - 比较两个对象的值是否不相等(a != b) 返回 true.
>大于 - 返回x是否大于y(a > b) 返回 False。
<小于 - 返回x是否小于y。(a < b) 返回 true。
>=大于等于 - 返回x是否大于等于y。(a >= b) 返回 False。
<=小于等于 - 返回x是否小于等于y。(a <= b) 返回 true。
位运算符
运算符描述
&按位与运算符:两个值的对应位都为1,则该位结果为1,否则0
|按位或运算符:两个值的对应位只要有一个1,则该位结果为1,否则0
^按位异或运算符:两个值的对应位相异为1,相同为0
~按位取反运算符:对数据的每个二进制取反,既把1变为0,把0变为1,~x类似于-x-1
<<左移动运算符:运算数的每个二进位全部左移若干位,由”<<”右边的数据指定移动的位数,高位丢弃,低位补0
>>右移动运算符:把”>>”左边运算数的每个二进制位全部右移若干位,”>>”右边的数指定移动的位数

看不懂可以看结合以下代码理解,此内容了解即可,不是重点

a = 0b11001
b = 0b01000

#bin()可以将数字转成二进制表示

print(bin(a&b))  #0b1000
print(bin(a|b))  #0b11001 
print(bin(a^b))  #0b10001

print(bin(~a))   #取反

print(3<<2)  #左移1位相当于乘以2.左移两位相当于:3*4
print(20>>1)  #右移一位相当于除以2
加法操作补充
  1. 数字相加 3+2 结果是 5   即ptint(3+2),下面大家都print操作一下
  2. 字符串拼接 “3”+“2”结果是 “32”
  3. 列表、元组等合并 [10,20,30]+[5,10,100]结果是[10,20,30,5,10,100]
乘法操作补充
  1. 数字相乘 3*2 结果是 6
  2. 字符串复制 “sxt”*3 结果是 ”sxtsxtsxt”
  3. 列表、元组等复制 [10,20,30]*3 结果是 [10,20,30,10,20,30,10,20,30]

时间 import time模块

通过import time插入时间模块

 int(time.time())表示从1970年至今过了多少秒,是一个数

import time           #引入模块
a = int(time.time())
print(a)              #输出1970年至今过了多少秒

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值