常用的简单类型有str,float,int,bool等,常见的复杂数据类型有function,type,list,tuple,dict,set等。具体如下:
- # 全部变量类型
- num1 = 0
- print(type(num1), num1)
- num2 = 1.0
- print(type(num2), num2)
- str1 = 'hello'
- print(type(str1), str1)
- # 转义标志
- str1 = '\'hello\''
- # 多行定义
- str1 = """
- hello,
- friend
- """
- bool1 = True
- print(type(bool1), bool1)
- none1 = None
- print(type(none1), none1)
-
- def func1():
- print('hello')
-
- print(type(func1))
-
- class Person:
- def __init__(self, name, age):
- self.name = name
- self.age = age
-
- def greet(self):
- print(f"hello, {self.name}")
-
- print(type(Person))
-
- # 列表的相同类型元素定义
- list1 = [1, 2, 3, 4, 5]
- print(type(list1), list1)
-
- # 列表的不同类型元素定义
- list2 = [1, 2, True, [1, 2]]
- print(type(list2), list2)
-
- # 元组,相同类型元素
- tuple1 = (1, 2, 3, 4, 5)
- print(type(tuple1), tuple1)
- # 元组,不同类型元素
- tuple2 = (1, (1, 2), [1, 2], True)
- print(type(tuple2), tuple2)
-
- # 字典类型
- dict1 = {'name': '张三', 'age': 18}
- print(type(dict1), dict1)
-
- # 集合类型
- set1 = {1, 2, 3}
- print(type(set1), set1)
-
- # 集合类型,不同类型元素
- set2 = {1, True, '张三', 1.2, func1}
- print(type(set2), set2)
常规的函数定义结构如下:

从上图可知:
函数定义可以使用类型定义,具体如下:
- def func1(a: float | int, b: int) -> float:
- return a + b
这一类型定义的方法与typescript类似,当然也有一定区别:
另外参数如果为方法,同样可以用到类型定义,具体如下:
- def func2(a: float, b: float, cb: callable) -> float:
- cb(a, b)
- return a + b
-
-
- func2(1, 2, func1)
有些情况下,方法会返回多个返回值,我们可以:
- def func(*args):
- return args
-
- list1 = func(1, 2, 3, 4, 5)
- print(sorted(list1, reverse=True))
-
- >>>[5, 4, 3, 2, 1]
- x, y = func(1, 2)
- print(x, y)
参数默认以调用时参数的顺序传递,而关键字参数可以无序传递,具体如下:

- def func(a=1, *args):
- return args
- def func(*args):
- return args
-
- list1 = func(1, 2, 3, 4, 5)
- print(sorted(list1, reverse=True))
-
- >>>[5, 4, 3, 2, 1]
- def add(a, b, **numbers):
- """
- 用于多个数相加
- :param a: 加数
- :param b: 被加数
- :param numbers: 被加数额外参数
- :return: 返回累加结果
- """
- sum1 = a + b
- for key, value in numbers.items():
- sum1 += value
- return sum1
-
- print(add(1, 2, arg1=1, arg2=2, arg3=3))
在某些情况下,我们需要写一下简单的函数逻辑,即可使用lambda:

- def add(a, b):
- return a + b
-
- add1 = lambda a, b: (a + b)
-
- print(add1(1, 2))
- print(add(1, 2))
任何语言都有其独特的输入和输出语句,python固然拥有:
- username = input()
- password = input()
- print(f'your username:{username},your password:{password}!')
同时,输出格式化字串的方法不止一种,下面的方法也是不错的选择:
- username = input()
- password = input()
- print(f'your username:{username},your password:{password}!')
- print('your username:%s,your password:%s!' % (username, password))
- name = "Polaris"
- age = 12.0178
- # 格式化方式,浮点数格式化m.n,m是宽度,n是小数精度控制(四舍五入)
- words = "hello, %s, age: %10.4f" % (name, age)