Python基础语法
数据类型
汇总
print(type(100)) # <class 'int'>
print(type(1.23)) # <class 'float'>
print(type(True)) # <class 'bool'>
print(type('A')) # <class 'str'>
print(type('ABC')) # <class 'str'>
print(type(b'A')) # <class 'bytes'>数值类型
整数
Python可以处理任意大小的整数,在程序中的表示方法和数学上的写法一模一样,如100 、-10。十六进制用0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2。Python允许在数字中间以_分隔,因此,写成10_000_000_000和10000000000是完全一样的。十六进制数也可以写成0xa1b2_c3d4。
# 整数
print(100)
print(-10)
print(0xff00)
print(10_000_000)
print(0xa1b2_c3d4)浮点数
数学写法,如1.23,3.14,-9.01,科学计数法,如,1.23x109就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5。
# 浮点数
print(3.14)
print(-1.23)
print(1.23e5)
print(-3.6e-9)字符
Python中没有单独的字符类型,可以使用只包含一个字符的字符串表示一个字符。
print('A')
print("B")字符的编码与解码
print(ord('A')) # 65
print(ord('中')) # 20013
print(chr(65)) # A
print(chr(20013)) # 中字节类型(bytes)
Python使用带
b前缀的单引号或双引号表示bytes类型的数据。
x = b'ABC'
print("ABC".encode()) # b'ABC'布尔类型
布尔值可以用
and、or和not运算。
# 布尔类型
print(False)
print(True)
print(True or True)
print(True and True)
print(not False)字符串
字符串使用单引号
''或者双引号""包围,比如'abc',"xyz",使用或者,则内部的字符串默认不会转义。使用三引号'''xxx'''包围字符串可以换行输入,使用r'''xxx'''换行输入的字符串也默认不会转义。Python3使用Unicode编码格式,Python的字符串支持多语言。
# 字符串
print("Hello, World")
print(r"Hello, \n world")
print(r'Hello, \\\ world')
print('\u4e2d\u6587') # 中文
print('''123
ABC
Hello
''')
print(r'''123 \n
ABC \\\
Hello
''')字符串的编解码
print("ABC".encode()) # b'ABC'
print('中文'.encode('utf-8')) # b'\xe4\xb8\xad\xe6\x96\x87'
print(b'ABC'.decode('utf-8')) # ABC
print(b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')) # 中文计算字符串长度
print(len("ABC")) # 3
print(len("中文")) # 2,字符数
print(len(b'\xe4\xb8\xad\xe6\x96\x87')) # 6 字节数(中文,一个字符占3字节)指定python源代码的编码格式
第一行注释指定谁来执行这个脚本,在Linux下生效,Win会忽略,第二行注释告诉Python解释器,按照UTF-8编码读取源代码
#!/usr/bin/env python3
# -*- coding: utf-8 -*-格式化输出字符串
使用
%格式化字符串,占位符只有一个的时候,可以省略括号,如果你不太确定应该用什么,%s永远起作用,它会把任何数据类型转换为字符串,%用本身用%%来表示。
print("hello, %s" % "world") # hello, world
print("hello, %s%s" % ("world", "!")) # hello, world!
print('%2d-%02d' % (3, 1)) # 3-01
print('%.2f' % 3.1415926) # 3.14字符串的
format()方法,按照{}中的顺序依次填值。
print("hello,{0}{1}".format("world", "!")) # hello,world!
# Hello, 小明, 成绩提升了 17.1%
print('Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)) f-string,使用
f''格式,会将{}中对于的变量填入其中。
r = 2.5
s = 3.14 * r ** 2
print(f'The area of a circle with radius {r} is {s:.2f}')扩展:python中几种格式化字符串的方式
# 原始字符串 raw string
print(r'hello\n, world')
# 字节字符串 bytes string
print(b'ABC')
# 格式化字符串 format string
a = 'world'
print(f'hello, {a}')
# 转unicode编码(python2用,因为python3默认unicode编码)
print(u'ABC')集合类型
列表(list)
元组(tuple)
字典(dict)
集合(set)
空值
空值是Python里一个特殊的值,用
None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。
常量
约定使用大写字母表示常量(其本质还是变量,只是约定俗成)。
PI = 3.14159265359变量和引用
变量
Python是动态语言(变量本身类型不固定)可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量。
a = 100
print(type(a)) # <class 'int'>
a = 'ABC'
print(type(a)) # <class 'str'>引用
a = 'ABC'
b = a
a = 'XYZ'
print(a) # XYZ
print(b) # ABC



