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.'
%运算符就是用来格式化字符串的。
在字符串内部:
有几个%占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%,括号可以省略。
其中,格式化整数和浮点数还可以指定是否补0和整数与小数的位数,例如:
'%2d-%02d' % (3, 1)
' 3-01'
'%.2f' % 3.1415926
'3.14'
如果你不太确定应该用什么,%s永远起作用,它会把任何数据类型转换为字符串
当%是一个普通的字符串时,可以使用转义符%。用%%表示一个%
'growth rate: %d %%' % 7
'growth rate: 7 %'