基础知识与运算符

常用快捷键:

1.三个单引号''' '''

    '''

     多行注释

     多行注释......

    '''

2.  #  号

    表示注释当前行 

3. ctrl + ? 

    选中一段代码,批量注释

4.ctrl + d

     选中一行代码,复制到下一行(相当于Sehll里面得yy p)

5.shift+tab

    选中一行或者多行代码,使用shift+tab健表示向左缩进,使用tab健表示向右缩进

6.Python特有的单词不能定义为变量名,否则使用不了特定的功能


内建:由解释器自动导入(提供基本功能),可以看作全局变量


一.变量与常量

1.1变量得定义:

    1.变量名 python

    2.赋值符号 =

    3.值 666

当定义一个变量"python"时,Python解释器会开辟一个内存空间存储变量的值"666",用赋值符号"="来连接变量名与值 。

    1.1.1、变量赋值

     1.列表压缩:

#列表压缩
l=[1,2,3,4,5,6]
x,y,z,*_=l      #x,y,z三个变量赋值为列表l的前3个值
print(x,y,z)

>>1 2 3

#列表压缩
l=[1,2,3,4,5,6]
*_,x,y=l       #x,y2个变量赋值为列表l的最后2个值
print(x,y)

>>5 6

    2.把2个变量的值相互替换:

m=10
n=11

m,n=n,m    #m,n的值调换,即m=11,n=10
print(m,n)

>> 11 10


1.2内存释放

    1.2.1 引用计数与垃圾回收

    1).python采用"引用计数"和"垃圾回收"两种机制来管理内存。
    2).引用计数通过记录对象被引用的次数来管理对象。
    3).对对象的引用都会使得引用计数加1,移除对对象的引用,引用计数则会减1,
    4).当引用计数减为0时,对象所占的内存就会被释放掉。

举例:

    python=666 ,当666这个值被python这个变量名给引用了,那么666的引用计数就为"1"

    python=777,当777这个值被python这个变量名给引用了,那么777的引用计数就为"1"。变量名python引用的值变为了777,那么666就不再被变量名python所引用了,那么666的引用计数就为"0",此时666就会被垃圾回收掉,释放内存。


1.3变量的特征- 每定义一个变量都有3个特征

    id 

    type

    值                           #打印一个变量的值:print(变量)

    1.3.1 例子1:定义一个变量age,并打印变量的id type 值

age=18   #完全写法  age=int(18)
print(id(age),type(age),age)

    运行后的值为:

1584492544 <class 'int'> 18

    那么得出: id=1584492544  type=int  age=18,[ age=18  等于  age=int(18) ]。


    1.3.2 例子2:定义一个变量age,然后定义一个变量age1=age 并打印变量age与age1的id type 值

age=19
age1=age
print(id(age1),type(age1),age1)
print(id(age),type(age),age)

    运行后的值为:

1584492544 <class 'int'> 18
1584492544 <class 'int'> 18

   那么得出:一个变量age1引用另外一个变量age时,变量(age与age1)的id type 和值都不会改变。


  1.3.3 运算符 

    is 判断id是否相同        #id相等的情况下值相等

    == 判断值是否相等     #值相等的情况下,id一定相等       

    例子1:在python3.6交互式环境下,值相等,id不相等

    age='name:szq age:18'               #定义相同的值
    age1='name:szq age:18'             #定义相同的值

    print(id(age1),id(age))                 #打印id

    age                 
    'name:szq age:18'    #打印age,得到的值相等
    age1               

    'name:szq age:18'    #打印age1,得到的值相等

    2010123591408  2010123588656     #但是id不同

    


    例子2:id相等,值相等

age=18
age1=age
print(id(age1),age1)
print(id(age),age)
print(age is age1)

  运行后的值为:

1584492544 18
1584492544 18
True              #为True说明为真


1.4 常量

1.4.1 常量:不变的量(值),但是常量的值也是可以改变的(常量的字符一般为大写,这是一个默认约定,不从语法角度约束)
    常量的字符定义:
    SZQ_AGE_IS=18      #字母全部大写


二.基本运算符

 2.1 算数运算

    

2.2 比较运算

    

2.3 赋值运算

    记住一个:a=a+1   可以写成  a+=1

                     a=a-1    可以写成  a-=1 

    

2.4 逻辑运算 and or not

    

    and:左右两边同时成立,结果为真,如果两边一个不成立,结果为假

    or:左右两边一个成立,结果为真,如果两边都不成立,结果为假

    not:相反     #print(not 10 > 3)    得到:False

    执行顺序:从左往右依次执行 (先判断左边(一个整体),再判断右边(一个整体))   如下例子:

print(10 < 3 or 3 < 5 and 3 < 2 and 3 > 1 )

执行的判断顺序:
    1.第一个逻辑运算符为or ,那么 先判断 10 < 3 ,如果不成立则判断  3 < 5 and 3 < 2 and 3 > 1
    2.在3 < 5 and 3 < 2 and 3 > 1的基础上,第一个逻辑运算符为and 那么先判断3 < 5,如果不成立则为假,后面的3 < 2 and 3 > 1就不会在判断了(第一个为假则为假)


2.5 补充 字符串也可以使用运算符,只能使用+*

a='aaa'
b='bbb'

print(a + b)
print(a * 10)
print(b * 10)
  运行后的值为:
aaabbb                                # a + b 得到的值(简单理解:把2个字符串组合起来)
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa        # a * 10 得到的值(简单理解:字符串aaa*10,得到了30个aaa)
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb        # a * 10 得到的值(简单理解:字符串bbb*10,得到了30个bbb)
    注意点:+ 只能接收同类型的数据,也就是字符串


三.与用户交互 input - 默认接受字符串类型,输入其他类型的数据时,会报错

num=input('pls input your num >>:')
print(num,type(num))

pls input your num >>:szq
szq <class 'str'>              #input会把输入的内容全部存为字符串类型

    input会把输入的类容全部存为字符串类型,如果想要输入的内容为某一数据类型,就需要指定变量的数据类型

    例子:passwd=int(passwd)

例子1:指定变量的数据类型

age=input('pls input your age >>:')

print(age == 18)
print(type(age))

pls input your age >>:18
False
<class 'str'>

    这里虽然我输入了数字18,但是做"age == 18"判断时,显示为False,因为18传参给了age,但是input把输入的数字18存为了字符串类型,就相当于 '18' == 18 ,因为字符串类型与整数类型无法做比较,所以显示为False

    如何修改,能达到目的:

age=input('pls input your age >>:')
age=int(age)              #这里指定了无论传参的内容为什么,都会被转换为整数类型

print(age == 18)
print(type(age))
  运行后的值为:
pls input your age >>:18    
True
<class 'int'>            #这里可以看到传参的内容18的数据类型为整数性

    这里也要注意一点,设定age=int(age)后,在输入非整数类型的数据时会报错


四.格式化输出 %s - 是可以接收任意类型的数据

name=input('pls input your name >>:')
age=input('pls input your age >>:')
hoppy=input('pls input your hoppy >>:')

#print('my name is',name,'my age is',age)     #一般写法
print('my name is %s my age is %s my hoppy is %s' %(name,age,hoppy))  #使用%s格式话输出,在最后用%(name,age,hoppy)传参
  运行后的值为:
pls input your name >>:sudaa           #接收变量name
pls input your age >>:18               #接收变量age
pls input your hoppy >>:read           #接收变量hoppy 
my name is sudaa my age is 18 my hoppy is read         #输出内容

注意点:print('my name is %s my age is %s my hoppy is %s' %(name,age,hoppy))

    1.print里面输出的内容用引号引起来

    2.格式话输出%s,最后要用%(变量1,变量2,变量3),来对应前面的%s

    3.格式话输出%s,是可以接收任意类型的



猜你喜欢

转载自blog.csdn.net/sinat_29214327/article/details/79777851