2-24python基础学习20190326

  1. 复习上周知识
  2. 変量在内存中的存储方式,字符串及其編码。
  3. pcsharm安装。

理解変量在汁算机内存中的表示也非常重要
A=’bc吋
Python解释器干了二件事情:
1.在内存中创建了一个‘ABC’ 的字符串
2.在内存中创建了一 个名カA的変量,并把它指向‘ABC’

也可以把一-个変量a赋値给另一个変量b, 遠个操作实际上是把変量b指向変量a所指向的数据,例如下面的代咼码:

A= ‘abc’
B=A
A=‘XYZ’
print(B)
向?最后一行打印出変量B的内容到底是‘ABC’ 呢 还是’xYz’??? ?

如果从数学意义上理解,就会错误地得出B和A相同,也应该

是’XZ‘
但实际上B的値是‘ABC’。 ↓
我们一行一行地执行代码,就可以看到到地发生了什么事

抉行A=‘ABC’时,解释器创建了字符串‘ABC’ 和変量A,并把A指向‘ABC’
抗行B=A,解释器建了变量B,并把B指向A指向的字符串‘ABC’

变量:A
Str"ABC"

执行B=A,解释器创建了变量B,并把B指向A指向的字符串‘ABC’ 。
变量:A。变量:B

Str
“ABC"

执行A=‘XYZ’, 解释器创建了字符串‘XYZ’ ,并把A的指向改为‘xYZ’ 但B并没有更改:
变量A
变量B

所以:最后打印变量B的结果自然是‘ABC’ 了。
eg:
a= ‘red’ a= ‘blue’ b=a
b= "black
print(a)

常量:
所谓常量就是不能变的变量,比如常用的数学常数π就是一个常量。 在Python 中,通常用全部大写的变量名表示常量。
WI= 3.44540
Pl=3.14154
但事实上PI 仍然是一个变量, Python根本没有任何机制保证PI 不会被改变,所以,用全部大写的变量名表示常量只是一个习惯上的用法,如果你一定要改变变量PI 的值,也没人能拦住你

总结:。
整数除法永远是整数,即使除不尽。要做精确的除法,只需把其中-一个整数换成浮点数做除法就可以。
无论整数做除法还是取余数,结果永远是整数,所以,整数运算结果永远是精确的。

1 Python支持多种数据类型。
2.在计算机内部,可以把任何数据都看成一个“对象”。
对象;有它具体的行为(方法,函数)和属性。.
3.变量就是在程序中用来指向这些数据对象的。
4.变量赋值就是把数据和变量给关联起来。
pycharm: 使用

  name = input(" 请输入名字: ") # 提示输入名字,并将输入的值用name变量存储。# input():输入的值, 是字符串类型。age = input("请输入年龄: ")
  # int() :将其他数据类型转换为int .类型。if int(age) >18: #如果age大于18.

  print (name,”成人”)else: #如果age小于18.

  print (name,”未成年").

  # TypeError:' >’ not supported betweeninstances of' str’ and' int 。

  字符串和编码。

  字符编码: 

  首先我们知道,字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题!

  因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理,最早的计算机在设计时采用8个比特(bit)作为-一个字节(byte),所以,一个字节能表示的最大整数就是255(二进制111111=十进制255),如果要表示更大的整数,就必须用更多的字节。比如二个字节可以表示的最大整数是65535,4个字节可以表示最大整数是4294967295.

  2进制转换为10进制:
 由于计算机是美国人发明的,因此,最早只有127个字符被编码到计算机里,也就是大小写英文字母、数字和一些字符, 这个编码表被称为ASCI编码,比如大写字母A的编码时候65小写字母a的编码是97

  但是要处理中文显然一个字节是不够的,至少需要两个字节,而且还不能和ASCI编码冲突,所以,中国制定了G82312 编码,用来中文编进去。

  你可以想得到的是,全世界有上百种语言,日本把日文编到Shift JIS里,韩国把韩文编到EuS-Kr里,各国有各国的标准,就会不可避免地出现冲实,结果就是,在多语言混合的文本中,显示出来会有乱码。

Kooo口口!A7傻no oo口o [Content _Types].xml? (?

  聚z拥cL岗bj" *%a5?3總駢徨班?C%?妾 o?陕Y K)ub8x僧-oJ疆技Q;x["陛o摘侗坡_ ?儔惻U熾詹w鋥鋸o腎S箪4去理密e羅?檁oel鮫,人心体???L煲?著bg佼|蘭貌oUSh9i瘤瀝:°y_ dl荔D洽o齶N糕R"4o?圍?独Z?格活,谚?+ ~E?蚣颮My鋦粒??壤?=陡嚦G )相澧櫥U镝tB )扣?唆臒渖钦?<F路?h??召?(?QUk妞舳&慰口响蒸? ?狠賴?桐 澳?薟?"幣歲潷Qp羚宝g3 a口PKopp只只, 173720 ?。xI/sharedStrings. xmnl?有藏京各相843月饈植Uo慢"Il+o韞嘻oo(整?帘o-F覽o個y均闫1o?0示瘤委果W_盛~ d掣? 敕? v?撕應nd#体501?:

  蓝标M義  职口為e集恨?●Dnd4  中福支辆盟%仆?+它?源y?z> x衅??]氟瓚飴藉誊o%能D o敷葡?1o?草z<穌oM潔?锅
  
  因此,Unicode 诞生,Unicode 把所有语言都统一到一套编码里,这样就不会再出现乱码。
     Unicode标准也在不断发展,但最常用的是用两个字节表示一个字符(如果要用到非常偏俯的字符,就需要4个字节)。现代操作系统和大多数编程语言都直接支持Unicode

  现在,捋一捋ASCIT 编码和Unicode 编码的区别: ASCI编码是1 个字节,而Unicode编码通常是2个字节。。

  字母A用ASCI编码是十进制的65,二进制的01000001

  字符。用ASCII编码是十进制的48, 二进制的00110000注意字符e.和整数0是不同的; 

  汉字中已经超出了ASCI 编码的范围,用Unicode 编码是十进制的20813, 二进制的01001110 011011010.

  你可以猜测,如果把ASCII 编码的A用Unicode 编码,只需要在前面补0就可以,因此,A的Unicode编码是00000 00001000001

  新的问题又出现了:如果统一成Unicode编码,乱码问题从此消失了。但是,如果你写的文本基本上全部是英文的话,用Unicode 编码比ASCII 编码需要多一倍的存储空间,在存储和传输上就十分不划算。
  所以,本着节约的精神,又出现了把Unicode 编码转化为“呵变长编码”的UIF8编码


  UTF-8编码把一一个Unicode 字符根据不同的数字大小编码成1-6 个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。如果你要传输的文本包含大量英文字符,用UTF-8 编码就能节省空间

  ASC编码--b2312/日本编码---- Unicode ——————∪TF8

  总结:

  在计算机内存中,统使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF8编码。

用记事本编辑的时候,从文件读取的UIF8字符被转换为Unicode 字符到内存里,编辑完成后,保存的时候再把Unicode转换为UTF8 保存到文件:。

浏览网页的时候,服务器会把动态生成的Unicode内容转换为UTF8再传输到浏览器
所以你看到很多网页的源码上会有类似.的信息,表示该网页正是用的UIF8编码。。

Python字符串。
python 中字与asci码的相互转换
ord©:参数是长度为1的字符串,简称字符。grd(“a”)返 回整形数值97
chr(i):返回-一个字符,字符的ascil码等于参数中的整形数值。例如chr(97)返回字符’a’,该方法是ord()的反方法。参数必须是0 _255的整形数值,否则会抛出yalueError错误

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值