侧边栏壁纸
博主头像
秋之牧云 博主等级

怀璧慎显,博识谨言。

  • 累计撰写 73 篇文章
  • 累计创建 43 个标签
  • 累计收到 6 条评论

目 录CONTENT

文章目录

Python基础语法

秋之牧云
2024-06-12 / 0 评论 / 0 点赞 / 61 阅读 / 0 字

数据类型

汇总

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表示,例如:0xff000xa5b4c3d2。Python允许在数字中间以_分隔,因此,写成10_000_000_00010000000000是完全一样的。十六进制数也可以写成0xa1b2_c3d4

# 整数
print(100)
print(-10)
print(0xff00)
print(10_000_000)
print(0xa1b2_c3d4)
  • 浮点数

数学写法,如1.233.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'

布尔类型

  • 布尔值可以用andornot运算。

# 布尔类型
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

0

评论区