定义八种数据类型的变量(变量及数据类型)
定义八种数据类型的变量(变量及数据类型)比如: 我们想输出一个人的名和姓,年龄和性别,字符串是由多个字符组成的,一般用“ ”或‘ ’引号引起来,对于字符串,比较重要的是字符串的拼接变量不止可以是字符串,也可以是一个数字(int long float complex)也可以是一个数组a = [1 2 3 4]数据类型1. String 字符串:
上篇教程稍提了一下什么是变量,字面意思就是可以变的一个量,也就是说变量的值是可以变的
比如 name = “max” 指定义一个变量name,它的值是字符串max 当然这个时候你print的时候,就会输出max,可如果不print,直接重新给name 赋值
name = “something”这个时候,没有重新生成一个变量,而是把something 赋值给name。
如上图,我们连续给name赋值两次,最后print的时候,name的值就是最后一次赋值的结果。
变量不止可以是字符串,也可以是一个数字(int long float complex)也可以是一个数组a = [1 2 3 4]
数据类型
1. String 字符串:
字符串是由多个字符组成的,一般用“ ”或‘ ’引号引起来,对于字符串,比较重要的是字符串的拼接
比如: 我们想输出一个人的名和姓,年龄和性别,
first_name = “张”
last_name = “三”
age = 18
gender = “男”
我们想输出型如 “姓张名三,今年18,性别男“
如果是一个人,我们可以直接print(“姓张名三,今年18,性别男”)就行,但是实际情况往往非常复杂,比如一个公司100个人,就要写100条print吗,一万人呢,显然不可能,我们只需写成下面的形式就行了
print(“姓” first_name “名” last_name “,今年” str(age) ”性别” gender)
这样只需一条print即可,需要变得便只是我们之前定义的first_name last_name age gender 这些变量的值即可,这些值可能保存在一个excel表格里,也可能保存在一个数据库里.
这里可以发现,在age这里,我加了一个str() 我们先看看不加str( ) 会怎么样
可以看最下面一行,can only concatenate str (not “int ”) to str
懂英语的话,就很简单了,只能将str(字符串)跟字符串连接起来,而不是”int” int 指的是整数integer。 这里age = 18 的时候age 是一个int,因为没有用“”引起来所以age 此时是一个int
可以用type( )这个方法(一般字母带()的都是方法),type() 可以返回里面元素的类型,上图可以看出,age 是一个int 整数(integer),而first_name 则是一个str 字符串(string)
str( )这个方法的作用就是把里面的元素转变成一个字符串的形式,会经常用到,也不难理解
string有很多内置的方法,你可以创建一个str= “max” 然后打出str. 摁下tab键,就会看到所有可用的方法
可以自己实验一下具体的效果,如下图,capitalize就是首字母大写,而title是将每一个单词的首字母大写,看方法名也可以猜到它的作用,例如upper就是所有字母大写uppercase,方法前面带is的一般是判断,是不是,返回True或者False
注 1.使用方法后的数据需要重新赋值给变量,不然不会改变的
str = str.title() 这样才会改变
2. 如果想在字符串里加符号,最好使用在符号前使用 \
str = “call me \”max\””
这样才会输出call me “max”
如果是str = “call me “max””会报错,因为它不知道””哪里结束
\ 叫做转义符
2. 数字类:
int integer 的简写,指整数
float 浮点数,也就是带小数的
long 就是比int的值大,python3已经删除,因为int已经不限制了。
运算符号 - * /
更高级的数学用法,可以import math 导入math拓展包
比如
import math
math.pow(2 3)就是算2的三次方 同样可以用math.的方式看math的方法
当然也可以用2**3 表示2的三次方 不过math包支持更多的运算,早点熟悉较好
我们主要学的就是int 跟 float 这里需要注意的点就是float的精度问题
问一个问题0.1 0.2 = ?正常人都知道是0.3
可python不这样想,或者说计算机不这样想,在python里他的结果是
0.30000000000000004
这是因为在计算机里,是用二进制0,1来表示和储存数据的,十进制0.1 在计算机里转化成二进制是0.00011001100110011001100110011001100110011001100110011001100
无限循环的,这时就需要我们自己指定精度了,就是小数点后多少位是我们需要的
比如我们只需要小数点后一位,那就是round(0.1 0.2 1)前面是要处理的数据,逗号后面的1是精度,指我们只需要小数点后一位
10/3 是个无限循环小数,自己数数两次结果保留了多少小数点后的3.
代码一定要自己敲一敲,试一试,才能发现问题,解决问题,熟悉操作