举个2例子如下:
name = "张三"
age = 18
上面两行代码中,name
和age
分别是变量名,而"张三"
和18
就是常量值。
类型是编程语言对数据的一个分类。
基本数据类型有3种:数字类型、字符串类型和布尔型。
就是对应的数学里面的数字,有了数字类型在程序设计中才能进行数学运算。数字类型分2类:
我们知道计算机只知道0和1,但0和1对于人来说不好理解,所以字符串类型就是为了方便人而诞生的。
用一对单引号、双引号或一对三引号作为定界符:
str1 = '中华人民共和国'
str2 = "中华人民共和国"
str3 = '''中华人民共和国'''
对于一些特殊字符,需要用使用转义字符\
或者r
来表示。
file_path = "d:\\test.py"
file_path = r"d:\test.py"
字符串操作—访问字符:
字符串[索引]
str1 = '中华人民共和国'
str1_1 = str1[0]
字符串[start:end]
,其中start
和end
代表索引位置,子串从索引start
开始到end-1
结束,不包括end
str1 = '中华人民共和国'
str_cut = str1[4:7]
+
连接成为一个新的字符串str1 = "中华人民共和国"
str2 = "你好"
str_full = str1 + str2
*
生成一个由其本身字符串重复连接而成的字符串str1 = "中华人民共和国"
num= 3
str_full = str1 * num
len()
方法可以返回一个字符串的长度str1 = "中华人民共和国"
str_len = len(str1)
这个类型里面就两个值:真和假,布尔型就是为了在程序设计中进行流程判断(条件判断和循环语句)而诞生的。
布尔值有且仅有两个: True
和False
(注意首字母要大写),分别代表表真假值。
在Python中,0
、空字符串 ""
和None
被编译器看成False
,其他数值和非空字符中都被看成True
。
组合数据类型有4种:元组类型、列表类型、集合类型,字典类型
其实有了基本类型,我们就可以进行程序设计了,但是光有基础类型会在对程序设计有很大的限制。举个例子:
现在为一所学校设计一个功能:要根据学号找到学生姓名。
如果我们光有基础类型要实现这个功能就会很麻烦。
这个时候我们就需要一个类似新华字典一样的学生字典,于是字典类型就应运而生了。
有了数字就可以进行计算了
计算有:加、减、乘、除
还有:取余、取整和指数
这些算术运算符在python中有对应的符号:
名称 | 符号 |
---|---|
加 | + |
减 | - |
乘 | * |
商 | / |
取余 | % |
指数 | ** |
整数 | // |
当然计算完我们要得到结果,这个时候就需要用赋值运算符中的等号(=
)。
接下来举个例子,让我们知道如何在python中写一个加法等式:
num1 = 1
num2 = 2
result = num1 + num2
解释一下上面的代码:
首先num1 = 1
和num2 = 2
这两个式子就是最开始我们学的常量和变量时接触到的,这两句代码的意思分别是:把数字1
和2
通过=
赋值给了num1
和num2
这两个变量名,这样我们就可以通过num1
和num2
这两个变量名来访问赋值的内容。
接下来就是第三行代码中num1 + num2
,表示把两个变量名代表的值加起来,然后把加法运算的结果通过=
赋值给了result
这个变量名。
上面的代码中还涉及了一个概念,就是表达式即变量,操作符或者函数的组合。
result = num1 + num2
就是一个表达式。
如果我们要给上面result
的基础上再加1
,我们要怎么写呢?
答案如下:
result = result + 1
实现上面的功能python中还可以一种简便写法:
result += 1
语法就是:用原来=
后面的result+
替换=
前面的result
。
所有的赋值运算符如下:
名称 | 符号 |
---|---|
等号 | = |
加等号 | += |
减等号 | -= |
乘等号 | *= |
除等号 | /= |
余等号 | %= |
整除等号 | //= |
指数等号 | **= |
在基本数据类型中有一个布尔型,现在我们使用关系运算符得到的结果就是一个布尔型。
所有的关系运算符:
名称 | 符号 |
---|---|
相等 | == |
不等 | != |
大于 | > |
小于 | < |
大于等于 | >= |
小于等于 | <= |
现在我们通过判断数字1
和2
的大小来演示一下,在python中如何使用关系运算符:
num1 = 1
num2 = 2
result = num1 > num2
解释一下上面的代码:
首先第1行和第2行就是声明两个变量num1
和num2
,然后把数字1
和2
通过赋值运算符=
分别赋值给这两个变量,接着第3行代码中num1 > num2
,表示把num1
代表的数字1
和num2
代表的数字2
使用关系运算符中的>
进行大于判断,最后把运算的结果通过=
赋值给了result
这个变量名。
提示:与其他程序设计语言不同,Python关系运算符可以连用:num1 > num2 > num3
当我们通过关系运算符得到了多个布尔类型的变量时,我们就有对多个布尔型进行逻辑判断的需求,举个例子:
num1 = 1
num2 = 2
result1 = num1 > num2
num3 = 3
num4 = 4
result2 = num3 < num4
result = result1 and result2
通过上述代码,我们得到了值为False
的result1
和值为True
的result2
两个布尔型的变量,现在我们使用逻辑与and
来判断最终得到Flase
赋值给result
。
所有的逻辑运算符:
名称 | 符号 |
---|---|
逻辑与 | and |
逻辑或 | or |
逻辑非 | not |
运算符说明 | Python运算符 | 优先级 | 结合性 |
---|---|---|---|
小括号 | ( ) | 19 | 无 |
索引运算符 | x[i] 或 x[i1: i2 [:i3]] | 18 | 左 |
属性访问 | x.attribute | 17 | 左 |
乘方 | ** | 16 | 右 |
按位取反 | ~ | 15 | 右 |
符号运算符 | +(正号)、-(负号) | 14 | 右 |
乘除 | *、/、//、% | 13 | 左 |
加减 | +、- | 12 | 左 |
位移 | >>、<< | 11 | 左 |
按位与 | & | 10 | 右 |
按位异或 | ^ | 9 | 左 |
按位或 | | | 8 | 左 |
比较运算符 | ==、!=、>、>=、<、<= | 7 | 左 |
is 运算符 | is、is not | 6 | 左 |
in 运算符 | in、not in | 5 | 左 |
逻辑非 | not | 4 | 右 |
逻辑与 | and | 3 | 左 |
逻辑或 | or | 2 | 左 |
逗号运算符 | exp1, exp2 | 1 | 左 |
input()
函数从交互命令行获得用户输入,用户在命令行里输入的任何内容,都会以字符串的类型接受并返回。
user_input_str = input("请输入内容:")
print()
函数在命令行里输出信息,如果print
中包含变量值,则需要使用格式化输出。
%
方式name = "张三"
print("%s你好!"%(name))
上述代码最终在控制台中显示张三你好
,这是因为我们对字符串"%s你好!"
进行了格式化输出,其中%s
表示为字符串占个位置,最后%(name)
中括号里的name
就会按顺序对号入座。
还有其他如%d
为十进制整数占位等很多的格式字符。
format
方式name = "张三"
age = 18
print("{}今年{}岁".format(name,age))
上述代码最终在控制台中显示张三今年18岁
,.format(name,age)
中的变量时按顺序填入前面的{}
占位符中。{0}今年{1}岁"
。
如果不是顺序填入的就需要明确填入元素序号了,如下代码:
name = "张三"
age = 18
print("{0}你好,{0}今年{1}岁".format(name,age))
上述代码最终在控制台中显示张三你好,张三今年18岁
。
name = "张三"
age = 18
print("{0}你好,{0}今年{1}岁性别是{sex}".format(name,age,sex = '男'))
上述代码最终在控制台中显示张三你好,张三今年18岁性别是男
,我们通过在占位符中填入sex
可以使用sex = '男'
中的值。
year = 2023
month = 9
print("现在是何年何月:{0}年{1:0>2}月".format(year,month))
上述代码最终在控制台中显示现在的日期是:2023年09月
,其中的{1:0>2}
大括号是占位符的标志,大括号中开头的1
表示使用位置为1
的变量month
,然后:
表示后面的就是对当前占位符的内容进行格式化的设置,0
表示填充符,>
表示变量值放置在右边,2
表示变量值的长度不足2
时才填充。
对齐有三种:
^
居中,表示变量值居中<
左对齐,表示变量值放置在左边>
右对齐,表示变量值放置在右边当我们的格式化参数中有小数也就是浮点型时,会有保留小数位的需求:
num_f = 1.2456
print("{0:0>10.2f}".format(num_f ))
上述代码最终在控制台中显示0000001.25
,其中的.2f
的意思就是小数点后保留2位,如果要保留4位就需要修改为.4f
。
eval()
函数能够以Python表达式的方式解析并执行字符串,并返回结果。
user_input_num = eval(input("请输入一个小数:"))