美文网首页
python学习1

python学习1

作者: Sshaylee | 来源:发表于2018-12-19 09:51 被阅读0次

学廖雪峰老师的python教程笔记。

1、变量类型不固定的语言称之为动态语言,与之对应的是静态语言。静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。例如Java是静态语言。

2、理解变量在计算机内存中的表示也非常重要。当我们写:

       a ='ABC'时,Python解释器干了两件事情:

      (1)在内存中创建了一个'ABC'的字符串;

      (2)在内存中创建了一个名为a的变量,并把它指向'ABC'。

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

           a = 'ABC'

            b = a

            a = 'XYZ'

            print(b)

Python支持多种数据类型,在计算机内部,可以把任何数据都看成一个“对象”,而变量就是在程序中用来指向这些数据对象的,对变量赋值就是把数据和变量给关联起来。

对变量赋值x = y是把变量x指向真正的对象,该对象是变量y所指向的。随后对变量y的赋值不影响变量x的指向。

3、字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题。编码成bytes传输。

因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。 最早是127个 ASCII码,包含字母数字特殊符号,一个字节表示一个字符。中国制定GB2312

统一的Unicode标准,但最常用的是用两个字节表示一个字符,存储空间多一倍,所以出现把Unicode编码转化为“可变长编码”的UTF-8编码,UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节。

在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。浏览网页的时候,服务器会把动态生成的Unicode内容转换为UTF-8再传输到浏览器。

Python 3版本中,字符串是以Unicode编码的,so print(‘也可以有中文’)

当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。

由于Python的字符串类型是str,在内存中以Unicode表示,一个字符对应若干个字节。如果要在网络上传输,或者保存到磁盘上,就需要把str变为以字节为单位的bytes。

以Unicode表示的str通过encode()方法可以编码为指定的bytes

>>> '中文'.encode('utf-8')                             # .decode #

b'\xe4\xb8\xad\xe6\x96\x87'

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

4、格式化字符输出 变量每次是变得 例如银行系统 每次输出你的金额是多少是变化的 ,%s,%f,%d,%x(十六进制整数),还可限制浮点数的位数。如果你不太确定应该用什么,%s永远起作用,它会把任何数据类型转换为字符串,还可用布尔值。

>>> 'Hello, %s'%'world'

'Hello, world'

>>> 'Hi, %s, you have $%d.'% ('Michael',1000000)      #顺序对好,

'Hi, Michael, you have $1000000.'

print('%2d-%02d' % (3, 1))

3-01               #02表示补几个零#    一般运算符前后加空格

字符串里有%,用%%来转移表示%

>>> 'growth rate: %d %%'%7

'growth rate: 7 %'

(2)用 .format

5、list

list是一种有序的集合,可以随时添加和删除其中的元素

classmates = ['Michael','Bob','Tracy']

classmate[0]表示第一个,不能越界

classmate[-1]表示最后一个

classmates.append('Adam') 添加到末尾

classmates.insert(1,'Jack')  添加到指定位置

classmates.pop()    删除末尾

classmates.pop(1)   删除指定位置

classmates[1] ='Sarah'   直接赋值改变列表数值

ist里面的元素的数据类型也可以不同,list元素也可以是另一个list,s[2][1]读取list中list的元素

L = [] 建立一个空列表

6、tuple。元组,tuple中每个元素指向不可变,无法用append那样修改。

tup1 = ('Google', 'Runoob', 1997, 2000)

建立有一个元素的turpe, t=(1, ) 加一个逗号

若tuple中元素包含list,那个通过赋值改变List中元素,也能改变tuple元素。但tuple始终指向这个list,不能改成指向其他对象。

7、条件判断(注意冒号和缩进语句)

if<条件判断1>:

    <执行1>

elif<条件判断2>:

    <执行2>

elif<条件判断3>:

    <执行3>

else:

    <执行4>

注意:if x:

                print('True')           若x为非空,非零,则true

input输入的是字符串类型,无法与下面int型直接比较,必须先转换类型。

8、循环

for.....in....循环,依次把list或tuple中的每个元素迭代出来,把每个元素代入变量x,然后执行缩进块的语句。

names = ['Michael','Bob','Tracy']

for name in names: 

      print(name)

start: 计数从 start 开始。默认是从 0 开始。

例如range(5)等价于range(0, 5);

stop: 计数到 stop 结束,但不包括 stop。

例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5

step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

>>> list(range(5))

        [0, 1, 2, 3, 4]        生成list

(2)while循环,只要条件满足,就不断循环,条件不满足时退出循环

(3)break 与 if连用 提前结束当前while循环

(4)与if连用,continue的作用是提前结束本轮循环,跳过该循环后续语句运行,直接开始下一轮循环

相关文章

网友评论

      本文标题:python学习1

      本文链接:https://www.haomeiwen.com/subject/qmgckqtx.html