python自学日记 第二课 变量及数据类型

上篇教程稍提了一下什么是变量,字面意思就是可以变的一个量,也就是说变量的值是可以变得

比如 name = “max” 指定义一个变量name,它的值是字符串max,当然这个时候你print的时候,就会输出max,可如果不print,直接重新给name 赋值

name = “something”这个时候,没有重新生成一个变量,而是把something 赋值给name。


image.png

如上图,我们连续给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( ) 会怎么样


image.png

可以看最下面一行,can only concatenate str (not “int ”) to str
懂英语的话,就很简单了,只能将str(字符串)跟字符串联接起来,而不是”int” int 指的是整数integer。 这里age = 18 的时候age 是一个int,因为没有用“”引起来所以age 此时是一个int


image.png

可以用type( )这个方法(一般字母带()的都是方法),type() 可以返回里面元素的类型,上图可以看出,age 是一个int 整数(integer),而first_name 则是一个str 字符串(string)
str( )这个方法的作用就是把里面的元素转变成一个字符串的形式,会经常用到,也不难理解
string有很多内置的方法,你可以创建一个str= “max”,然后打出str. 摁下tab键,就会看到所有可用的方法
image.png

可以自己实验一下具体的效果,如下图,capitalize就是首字母大写,而title是将每一个单词的首字母大写,看方法名也可以猜到它的作用,例如upper就是所有字母大写uppercase,方法前面带is的一般是判断,是不是,返回True或者False


image.png

注 1.使用方法后的数据需要重新赋值给变量,不然不会改变的
str = str.title() 这样才会改变

  1. 如果想在字符串里加符号,最好使用在符号前使用
    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包支持更多的运算,早点熟悉较好


image.png

我们主要学就是int 跟 float, 这里需要注意的点就是float的精度问题
问一个问题0.1 + 0.2 = ?正常人都知道是0.3
可python不这样想,或者说计算机不这样想,在python里他的结果是
0.30000000000000004
这是因为在计算机里,是用二进制0,1来表示和储存数据的,十进制0.1 在计算机里转化成二进制是0.00011001100110011001100110011001100110011001100110011001100
无限循环的,这时就需要我们自己指定精度了,就是小数点后多少位是我们需要的


image.png

比如我们只需要小数点后一位,那就是round(0.1+0.2, 1)前面是要处理的数据,逗号后面的1是精度,指我们只需要小数点后一位


image.png

10/3 是个无限循环小数,自己数数两次结果保留了多少小数点后的3.

代码一定要自己敲一敲,试一试,才能发现问题,解决问题,熟悉操作

你可能感兴趣的:(python自学日记 第二课 变量及数据类型)