Python基础(一)

1. 输出

字符串得加‘ ’ 若遇到空格,则会输出空格。
与java类似,print('100+200',100+200)输出为:100+200 300

2. 输入:

·Python提供了input()让用户输入字符串,并存放到一个变量里。
代码示例:

name=input("\n请输入您的姓名");
      print('您的姓名为:',name);

3. Python基础:

·Python语法采用缩进格式,使用4个空格缩进格式为准。在文本编辑器中,需要设置把Tab自动转换为4个空格,确保不混用Tab和空格。
·注释以#开头
·Python大小写敏感

4. 数据类型和变量:

·整数:Python可以处理任意大小的整数,包括负整数。
例如:1,-100,-200,0等。
使用十六进制表示整数更方便。例如:0xff00、0xa5b4c3d2

·浮点数:可以用数学写法表示:1.23、0.26、-3.02
也可以用科学计数法表示:把10用e替代,1.23x10的9次方就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5

·整数和浮点数内部存储方式也不同,整数时精确运算,浮点可能会四舍五入的误差。

·字符串:字符串是以”或者”“括起来的任意文本,比如’abc’,”xyz”等等。
如果字符串内既包含’又包含”。可以用转义字符\来标识。例如:’I\’m\”OK\”!’ 表示的字符串是I’m”OK”!
允许r”表示”内部的字符不转义。例如:print(r'\\\t\\') 输出为:\\\t\\
允许”’…”’的格式表示多行内容。

例如:print('''line1         输出为:line1
              line2                line2
              line3''')            line3

·布尔值:只有True和False两种。必须为True和False。大小写敏感。
布尔值可以用and、or和not运算。

 and是与运算,只有所有都是true,and运算结果才是True;
 or是或运算,只要其中有一个为true,or运算结果为True;
 not是非运算。  

·空值:空值用None表示。不能理解为0,相当于java中的null。
·常量:常量就是不能变的量。与JAVA中类似。PI=3.14159265359。


增加解释

Python中有两种除法。
10/3=3.33333333333。’/’的结果永远为浮点数。
10//3=3。’//’为地板除,永远为整数。

Python的字符串和编码
字符串:·对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符。

ord(‘A’)
输出为: 65
ord(‘中’)
输出为:20013
chr(66)
输出为:’B’
chr(25991)
输出为:’文’
·如果知道字符的整数编码,还可以用十六进制这么写:
‘\u4e2d\u6587’
输出为:’中文’

·Python对bytes类型的数据用带b前缀的单引号或双引号表示。

x = b'ABC'

要注意区分’ABC’和b’ABC’。前者为str。后者为bytes,每个字符只占用一个字节。

例如:

        'ABC'.encode('ascii')
        b'ABC'
         '中文'.encode('utf-8')
        b'\xe4\xb8\xad\xe6\x96\x87'
         '中文'.encode('ascii')

纯英文的str可以用ASCII编码为bytes,内容是一样的,含有中文的str可以用UTF-8编码为bytes。含有中文的str无法用ASCII编码,因为中文编码的范围超过了ASCII编码的范围,Python会报错。
在bytes中,无法显示为ASCII字符的字节,用\x##显示。


反过来,如果我们从网络或磁盘上读取了字节流,那么读到的数据就是bytes。要把bytes变为str,就需要用decode()方法。
例如:

         b'ABC'.decode('ascii')
         'ABC'
         b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')
         '中文'

要计算str包含多少个字符或者bytes包含多少字节可以用len()函数。

         len('ABC')
         3
         len('中文')
         2
         len(b'ABC')
         3
         len(b'\xe4\xb8\xad\xe6\x96\x87')
         6
         len('中文'.encode('utf-8'))
         6

从运行结果可见:1个中文字符经过UTF-8编码后通常会占用3个字节,而1个英文字符只占用1个字节。


在操作字符串时,我们经常遇到str和bytes的互相转换。为了避免乱码问题,应当始终坚持使用UTF-8编码对str和bytes进行转换。

编码:由于Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行:

        #!/usr/bin/env python3
        # -*- coding: utf-8 -*-

第一行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释;
第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。
申明了UTF-8编码并不意味着你的.py文件就是UTF-8编码的,必须并且要确保文本编辑器正在使用UTF-8 without BOM编码。

格式化:在Python中,采用的格式化方式和JAVA也有相似之处。

         'Hello, %s' % 'world'
         'Hello, world'
         'Hi, %s, you have $%d.' % ('Michael', 1000000)
         'Hi, Michael, you have $1000000.'

%运算符就是用来格式化字符串的。
在字符串内部:

  1. %s表示用字符串替换
  2. %d表示用整数替换,
  3. %f表示用浮点数替换,
  4. %x表示用16进制数替换,

有几个%占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%,括号可以省略。
其中,格式化整数和浮点数还可以指定是否补0和整数与小数的位数,例如:

         '%2d-%02d' % (3, 1)
         ' 3-01'
         '%.2f' % 3.1415926
         '3.14'

如果你不太确定应该用什么,%s永远起作用,它会把任何数据类型转换为字符串
当%是一个普通的字符串时,可以使用转义符%。用%%表示一个%

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

你可能感兴趣的:(python,Python基础)