ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

python数据与变量

python数据与变量 1. 内置基本数据类型python中已经集成好了一些数据无需导入数据类型有很多基本数据类型、容器类型、对象类型。基本数据类型是“不可再拆的最小单元”容器类型是用来装基本类型的。(1)数值型数字整数任意大小不像其他语言对整数有取值范围的约束的Python中没有约束也支持其他数制的整数二进制八进制十六进制默认是十进制浮点数小数同时也存在科学计数法由于所有数值最终都由二进制存储的所以小数存在一定的精度问题。(2)布尔型bool只有两个值True和False,表示真和假一般用在比较、逻辑判断时if while从本质上而言布尔类型其实就是数字0和1来表示。print(True False) # 1(3)字符串类型strpython中字符串就是一组若干字符组成的文本信息。Python中不存在字符数据类型的char 单个字符。双引号单引号三引号转义字符\:方向 1普通字符 → 特殊控制功能把原本没有特殊功能的普通字母转换成不可见的控制字符实现换行、制表等格式功能。\n,\t,\r,\a方向 2特殊功能字符 → 普通内容字符取消它的特殊语法功能,引号是字符串边界(4)空值类型NoneNone空理解为空集φ主要在引用数据类型中使用尤其涉及到对象方面的问题。(5)复数类型complex实部虚部print(1 1j) print(2 - 3j) print((1 1j) * (2 - 3j)) # 2 - 3j 2j 32.变量与数据类型(1)变量的定义与赋值变量就是用来临时存储某些数据使用的在使用的过程中我们可以修改变量中的数据变量名 数据将数据赋值给变量变量名Python中对变量的数据类型没有严格的限制想存啥就存啥如果变量第一次赋值 则为创建变量否则为修改变量(2)标识符命名规则与规范在任何编程语言中但凡是自定义的名称都叫做标识符命名规则只能由数字、字母、下划线组成其中数字不能开头。汉字可以作为标识符严格区分大小写不能使用关键字和内置函数名称作为标识符命名规范变量名称和函数名称的命名蛇形命名法所有单词小写多个单词之间用下划线分割my_name类名称大驼峰命名法所有单词首字母大写单词与单词之间不分割,MyName常量名称所有单词大写单词与单词之间用下划线分割,MY_NAME(3)关键字和内置函数关键字就是Python中已经定义好的一些特殊单词本身就已经由其特殊的作用和含义。# 打印Python中所有的关键字 import keyword print(keyword.kwlist) # 输出的结果 [False, None, True, and, as, assert, async, await, break, class, continue, def, del, elif, else, except, finally, for, from, global, if, import, in, is, lambda, nonlocal, not, or, pass, raise, return, try, while, with, yield]内置函数就是Python中预先定义号并直接集成在解释器中的函数小工具无需导入其他的模块直接调用即可。内置函数是 Python 预先提供好的功能对象默认会用max、print这类变量名绑定它们。如果给这些变量名赋了其他值这个名字就不再指向原来的内置函数了表现出来像是 “这个功能失效了”但函数本身并没有被破坏或改变。print(123) # 把print的功能赋值给了name # name同时具有了输出的功能 # 就可以像使用print一样进行输出了 name print name(123) # 函数名称 - 变量 存的是某一个函数的功能而已 print 3 name(print 4)print(max(1,2,3,100)) # 最大值函数 min 10 max 10 # 变成了一个整数print(dir(__builtins__)) # 输出结果 [ArithmeticError, AssertionError, AttributeError, BaseException, BaseExceptionGroup, BlockingIOError, BrokenPipeError, BufferError, BytesWarning, ChildProcessError, ConnectionAbortedError, ConnectionError, ConnectionRefusedError, ConnectionResetError, DeprecationWarning, EOFError, Ellipsis, EncodingWarning, EnvironmentError, Exception, ExceptionGroup, False, FileExistsError, FileNotFoundError, FloatingPointError, FutureWarning, GeneratorExit, IOError, ImportError, ImportWarning, IndentationError, IndexError, InterruptedError, IsADirectoryError, KeyError, KeyboardInterrupt, LookupError, MemoryError, ModuleNotFoundError, NameError, None, NotADirectoryError, NotImplemented, NotImplementedError, OSError, OverflowError, PendingDeprecationWarning, PermissionError, ProcessLookupError, RecursionError, ReferenceError, ResourceWarning, RuntimeError, RuntimeWarning, StopAsyncIteration, StopIteration, SyntaxError, SyntaxWarning, SystemError, SystemExit, TabError, TimeoutError, True, TypeError, UnboundLocalError, UnicodeDecodeError, UnicodeEncodeError, UnicodeError, UnicodeTranslateError, UnicodeWarning, UserWarning, ValueError, Warning, WindowsError, ZeroDivisionError, __build_class__, __debug__, __doc__, __import__, __loader__, __name__, __package__, __spec__, abs, aiter, all, anext, any, ascii, bin, bool, breakpoint, bytearray, bytes, callable, chr, classmethod, compile, complex, copyright, credits, delattr, dict, dir, divmod, enumerate, eval, exec, exit, filter, float, format, frozenset, getattr, globals, hasattr, hash, help, hex, id, input, int, isinstance, issubclass, iter, len, license, list, locals, map, max, memoryview, min, next, object, oct, open, ord, pow, print, property, quit, range, repr, reversed, round, set, setattr, slice, sorted, staticmethod, str, sum, super, tuple, type, vars, zip](4)查看数据类型type() 内置函数用于查看变量存储的数据的类型(5) 变量交换与多重赋值# 多重赋值 a b c 1 print(a b c) a, b, c 1, 2, 3 print(a b c) # a, b, c 1, 2, 3, 4 # ValueError: too many values to unpack (expected 3) # 变量交换 a 10 b 60 c 80 a, b, c c, a, b print(a) print(b) print(c)3.基本数据类型转换(1)隐式转换自动转换就是小的类型和大的类型进行计算时结果会默认为大类型主要出现在数值运算上a 1 # 整数 b 3.14 # 小数 c a b # 小数 print(type(c))(2)显示转换一般都是使用内置函数来去操作的将其他类型转整数int内置函数默认以10进制转换也可以指定进制数2~360默认10num 3.9123 # 将小数转整数 print(int(num)) # 截断小数部分 只保留整数部分 # 将数字字符串转整数 s 123 print(int(s) 1) # 将字符串中的整数解析出来 为一个整数 s 123ah # 默认以十进制进行解析 # print(int(s)) # ValueError: invalid literal for int() with base 10: 123a # 因为a不属于十进制 #print(int(s, 12)) # 12 以120~9 a~b进制进行解析数字 # 10*12**0 3*12**1 2*12**2 1*12**3 print(int(s, 18)) # 18 以180~9 a~h进制进行解析数字 # print(int(s, 60)) # ValueError: int() base must be 2 and 36, or 0默认十进制 s 21jk print(int(s, 21)) # 最小进制为21 # s 迪丽热巴18岁 # print(int(s)) # 报错将其他类型转小数num 10 print(float(num)) s 3.123123123abc # 只能以十进制解析小数 print(float(s) 1) # ValueError: could not convert string to float: 3.123123123abc将其他类型转为布尔类型# 将数值类型转布尔类型只有0为False 其他均为True print(bool(999)) print(bool(3.14)) print(bool(-123)) print(bool(0)) # 将字符串类型转布尔类型只有空串为False,其他均为True print(bool(Hello)) print(bool(a)) print(bool()) print(bool(None)) # None一律为False将其他类型转字符串加strnum1 10 num2 3.14 num3 True num4 None print(str(num1) str(num2) str(num3) str(num4))
返回列表