python-day01

1. 变量的赋值

var1 = "kk" #表示变量值在内存中开辟了一小块空间,并把值存入,变量名只是指向值所存入的空间地址??

var2 = var1 #指向var1所指向的地址

var1 = "dd" #表示变量重新指向另一个空间地址

print(var1,var2)

根据程序顺序执行的原理,var1=dd;  var2=kk

2. 内存回收机制

在c语言里,会手动写一些内存回收方法来处理。但在python里是不需要处理,会有自动内存回收监测器,定时监测,检查到内存中没有使用的,就会自动进行清理。当然,也不会没有使用马上就进行清理,而是回收监测机制定时循环监测。

回收方法两个:

一:

age = 24

print(age)

del age

  1.  a=1       # 对象 1 被 变量a引用,对象1的引用计数器为1  
  2.     b=a       # 对象1 被变量b引用,对象1的引用计数器加1  
  3.     c=a       #1对象1 被变量c引用,对象1的引用计数器加1  
  4.     del a     #删除变量a,解除a对1的引用  
  5.     del b     #删除变量b,解除b对1的引用  
  6.     print(c)  #最终变量c仍然引用1  

请参考:

https://blog.csdn.net/love1code/article/details/47276683

二:

age = 24

age = 21

print(age)

3. 编码格式

首先是编码的起源,最开始都是ASSIC码表,但只有255个字符,并且里面没有中文,很明显,不够使用,且不符合中国的使用。所以就想研究出一种编码格式能存放中文,但是中文那么多,怎么办呢?就在ASSIC码表里存放一些映射,当输入哪个标识就可以指向对应的中文编码,即产生了原始的能识别中文的编码格式GB2312,但总共就收录了6、7千个字符,仍然不够使用,又发展了GBK1.0等,其他国家也有对应的字符,以此类推,这个表就越来越大,越来越乱。后来整理出来了一个统一的编码——万国码(unicode),可以存入2**16=65535个字符,并且统一一个字符占两个字节。但是之前的编码格式,英文字符都是一个字符一个字节,现在变成两个字符,明显占用了更大的内存空间,所以又发明了一个新的编码格式utf-8,规定中文为3个字符,英文字符一个字节,总之,编码格式进化路线图如下:

ASSIC->GB2312->GBK->GB18030->Unicode->UTF-8

在python中,不同版本设置的编码格式是不同的

python2.x 默认编码格式为Unicode

python3.x默认编码格式为UTF-8

编码格式申明:

#!-*- coding:utf-8 -*-

有时候即使申明了万能编码格式,但是有时候也会报乱码的错误。比如在python27上编写的含中文的脚本,在windows窗口上输出就可能乱码。乱码问题,可能有3个地方:

  • 编码里的编码格式
  • 编辑器的编码格式
  • 输出端的编码格式

总之:unicode 向下兼容gb2312,gbk。unicode是这个扩展进来的,而utf-8是扩展后,重新分类的。

4.注释

单行注释:#

多行注释:3个单引号或者3个双引号

5.与用户交互

input(),这个输入的都是字符串,后面如果想做相应的运算处理,还是需要使用强制转换

  • int()  表示强制转换为整型。
  • str()强制转换为字符串。
  • + 表示字符串的拼接
  • ,表示独立的数据拼接

比如:

age = 20

age1 = int(age)

print("My age is ",age,"years old")

print("My age is "+str(age)+"years old")#强制转换后,age为int,但是+只连接字符串,所以必须强制转换为字符串

6.缩进

所有报indented**相关的都是缩进的错误

在windows 和linux里,tab键,不兼容,所以建议使用4个空格来表示缩进

为什么要用缩进? 在其他语言里都使用了{}大括号来区分代码块,但是python省去了大括号,所以只能使用缩进来区分代码块。

在一个代码块里,尽量使用统一的缩进方式,否则程序会报错。

7.if语句

程序中最常用的语句,只需要记住语法,后期再慢慢熟悉

比如猜年龄

age_of_princal = 56

guess_age = int(input(">>"))

if guess_age == age_of_princal:
    print("You're right!")
else:

    print("You're wrong!")

再比如,多分支

score = int(input())
if score > 90:
    print("A")
elif score > 80:
    print("B")
elif score > 70:
    print("C")
else:
    print("no")


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值