Python基础知识-Part1:数据类型和变量与Python的字符编码

数据类型和变量

1、Python中的注释如上,是井号“#”开头的。

2、Python中可以直接处理的数据类型有整数、浮点数、字符串、布尔值、空值。

3、Python在定义变量时,不需要Java、C++那种“变量类型+变量”的定义方式,是直接定义的。

4、空值,作为Python中的一个特殊的值,用“None”表示。“None”不能简单理解为‘0’,因为‘0’是有着切实的意义的,而“None”却是一个特殊的空值。

5、常量,Python中,常量是直接用全部大写的变量名定义的。

6、Python中,整数的除法是精确的,“10 / 3”的结果就是“3.3333333333333335”,“9 / 3”的结果就是“3.0”,结果均为浮点数。而“//”才是地板除法,直接取整数。

7、变量并不是保存了值,而是指向了值,我本人理解成指针。

8、字符串变量,可以是单引号内的,也可以是双引号内的,也可以是三引号内“ ''' ''' ”,都是为了防止引号重复而发生歧义。

9、多行内容可以直接在字符串中回车,或者使用‘\n’。

10、三引号字符串可以直接在字符串中回车,输出的文字也会直接回车。

11、“r+单、双、三引号”,这个用法会保护引号中的字符不做任何转义处理输出。

12、“r+三引号”同样具有字符串中回车,输出也回车的属性。

# 注释
x = 10
y = 1.5
a = "abc"
B = 'ABC'

print("True and True >", True and True)
print("True and False >", True and False)
print("True or False >", True and False)
print("False or False >", False or False)
print("not False >", not False)

None

PI = 3.1415926

print("10 / 3 =", 10 / 3)
print("9 / 3 =", 9 / 3)
print("10 // 3 =", 10 // 3)

print('单引号')
print("双引号")
print('''三引号''')

print('''三引号
三引号下一行''')

print(r'r单引号\n')
print(r"r双引号\n")
print(r'''r三引号\n''')

print(r'''r三引号
r三引号下一行\n''')

 

Python的字符编码

1、Python的字符串是以“Unicode”进行编码的。

2、单个字符,使用“ord()”函数,可以读取其整数编码;知道字符的整数编码,可以用“chr()”读取对应的字符。

3、Python的字符串类型是“str”,如果要保存在磁盘上,就要变成以字节为单位的“bytes”类型。“bytes”用带‘b’前缀的单引号或者双引号字符串表示。

4、用Unicode表示的“str”可以通过“encode()”的方法,编码为指定编码类型的“bytes”字符串。不过,如果指定编码类型库中没有被编码字符串,就会报出“Error”。ASCII码就不存在中文编码。

5、第4项反过来,如果读到了“bytes”类型的字符串,转换成“str”的字符串,就需要用到“decode()”的方法。同理,如果“bytes”中包含着无法解码的字节,“decode()”也会报“Error”。

6、如果“bytes”字符串中存在着一些无效的字节,可以加入“errors = 'ignore'”来忽略错误的字节。

7、“len()”用来计算“str”字符串中字符个数,或者“bytes”字符串的字节数。

8、格式化输出,‘%d’、‘%f’、‘%s’、‘%x’分别对应整数、浮点数、字符串、十六进制整数。在Python中‘%s’是永远起作用的,会把任何类型转换成字符串。转义字符‘%%’表示一个‘%’。

9、“format()”格式化输出,传入的参数依次替换字符串占位符‘{0}’、‘{1}’......

print("'中'的Unicode整数编码是:", ord('中'))
print("'A'的Unicode的整数编码是:", ord('A'))

print("整数66对应的Unicode字符是:", chr(66))
print("整数25991对应的Unicode字符是:", chr(25991))

str_bytes = b"OK"

print("ABC".encode("ascii"))
print("中文".encode("utf-8"))
print("中文".encode("ascii"))

print(b"ABC".decode("utf-8"))
print(b'\xe4\xb8\xad\xe6\x96\x87'.decode("utf-8"))

print(b"\xe4\xb8\xad\xee\xee".decode("utf-8", errors="ignore"))

print(len("中文"))
print(len("中文".encode("utf-8")))
print(len("ABC".encode("ascii")))

print("我会说%s,中国有着%d的历史,现在中国有%.0f亿的人口" % ("中文", 5000, 13.7))
# 我会说中文,中国有着5000的历史,现在中国有14亿的人口

print("我会说%s,中国有着%s的历史,现在中国有%s亿的人口" % ("中文", 5000, 13.7))
# 我会说中文,中国有着5000的历史,现在中国有13.7亿的人口

print("地球有%d%%是海洋" % (70))

print("Hello {0}, {1:.2f}%".format("小明", 12.765))
# Hello 小明, 12.77%

特殊记忆:在Linux或者OS X系统中用Python解释器读取源码时,需要在开头写上如下两行。

第一行:这是一个python可执行程序

第二行:使用UTF-8编码读取源码

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值