python从入门到精通:基础语法讲解
1、字面量
字面量:在代码中,被写下来的固定的值,称之为字面量。
python中常用的几种数据类型:
整数(int)
浮点数(float)
复数(complex)
布尔(bool)
整数(int):10,-10
浮点数(float):3.14
复数(complex):3+4j,以j结尾表示复数
布尔(bool)表达现实生活中的逻辑,即真和假;
TRUE本质上是一个数字记作1,FALSE记作0
字符串(string),又称文本,是由任意数量的字符如中文、英文、各类符号、数字组成。
比如:\"你好!\"、\"python\";字符串中,字符串需要用双引号(\")包围起来,也就是说被引号包围的,都是字符串。
2、注释
在程序代码中对程序代码进行解释说明的文字;注释不是程序,不能被执行,只是对程序代码进行解释说明,让别人可以看懂代码的执行作用,能够大大增强程序的可读性。
· 单行注释:以#开头,#右边的所有文字当作说明,而不是真正要执行的程序,只是辅助说明。
# 在屏幕上打印出helloprint(\"hello\")# #与注释内容之间最好以一个空格隔开
· 多行注释:以一对三个引号引起来的(\"\"\"注释内容\"\"\")来解释这一段代码的作用使用方法。
多行注释主要用于解释:1、整个python文件 2、类 3、方法。
3、变量
在程序运行时,能储存计算结果或能表示值的抽象概念,简单地说,变量就是在程序运行时,记录数据用的。
定义格式:
变量名称=变量的值
# 定义一个变量,用来记录钱包余额money=100;# 输出变量记录的内容print(\"余额还有:\",money)# 花费10元买冰淇淋money = money-10;print(\"余额还有:\",money);
4、数据类型
主要接触的数据类型有三种:
可以通过type( )来得到数据的类型。
# 通过print语句,直接输出类型信息print(type(10))print(type(3.14))print(type(\"你好\"));# str就是string的缩写# 用变量存储type()的结果(返回值):int_type = type(10)float_type = type(3.14)str_type = type(\"你好\")print(int_type)print(float_type)print(str_type)# type()也可以查看变量中存储的数据类型name = \"小杜\";name_type = type(name);print(name_type)
通过type(变量)可以输出类型,查看的是变量存储的数据的数据类型,因为变量无类型。
5、数据类型转换
数据类型之间,在特定场景下,是可以相互转换的,如字符串转数字、数字转字符串等。
适用场景:
1、从文件中读取的数字,默认是字符串,需要将其转换为数字类型
2、后续input( )语句,默认结果是字符串,若需要数字也需要转换
3、将数字转换出字符串用以写出到外部系统。
这三个语句都是有返回值的,我们可以直接通过print输出,也可以用变量存储结果值。
# 将数字类型转换成字符串num_str = str(10);print(type(num_str), num_str);# 将字符串转换成数字类型str_int = int(\"20\")print(type(str_int), str_int);# 想要将字符串转换成数字类型,必须要求字符串内容全是数字str_int2 = int(\"你好\");print(type(str_int2), str_int2);# 整数与浮点数的相互转换float_int = int(3.14);print(type(float_int), float_int);int_float = float(3);print(type(int_float), int_float);# 浮点数转换为整数会丢失精度
6、标识符
在python程序中,我们可以给很多东西起名字,比如:变量的名字、方法的名字、类的名字等等,这些名字,我们统一称之为标识符,用来做内容的标识。所以标识符是用在编程的时候所使用的一系列名字,用于给变量、类、方法等命名。
标识符命名规则-内容限定:
标识符命名中,只允许出现:
· 英文
· 中文
· 数字
· 下划线(_)
这四类元素,其余任何内容都不允许。需要注意的是:不推荐使用中文,数字不可以用作开头。
标识符命名规则-大小写敏感:
A = \"hehe\";a = \"haha\";print(A);print(a);# 字母a的大写和小写,是完全能够区分的
标识符命名规则-不可使用关键字:
python中有一系列单词,称之为关键字,关键字在python中有特定作用,我们不可以使用它们作为标识符。
# 规则1:内容限定# 1_a = \"zhansan\";# 规则2:大小写限定I =\"haha\";i = \"hehe\";print(I)print(i)# 规则3:不可使用关键字class = 1;print(class)
变量命名规范-见名知意:
简单明了,看到名字,就知道含义,并且在明了的情况下减少长度,确保简洁。
变量命名规范-下划线命名法:
多个单词组合成变量名,是用下划线分割。
变量命名规范-英文字母全小写:
命名变量中的英文字母,应该全部小写。
7、运算符
算数(数学)运算符:
#算数运算符print(\"1+1=\", 1 + 1)print(\"2*2=\", 2 * 2)print(\"2/2=\", 2 / 2)print(\"5%2=\", 5 % 2)print(\"5//2=\", 5 // 2)print(\"5**2=\", 5 ** 2)
赋值运算符:
# 赋值运算符num = 2*3;# 复合赋值运算符num = 1;num += 1;print(\"num+=1\", num);num -= 1;print(\"num-=1\", num);num *= 2;print(\"num*=2\", num);
8、字符串扩展
8.1、字符串的定义方式
· 字符串在python中有多种定义方式:
1、单引号定义法:name=\'zhangsan\';
2、双引号定义发:name=\"zhangsan\";
3、三引号定义法:name=\'\'\'zhangsan\'\'\';
三引号定义法,和多行注释的写法一样,同样支持换行操作。使用变量接收它,他就是字符串;不使用变量接收它,就可以作为多行注释使用。
字符串的引号嵌套:如果我们想要定义的字符串本身包含单引号或双引号:
# 单引号定义法,内含双引号name = \'\"zhangsan\"\';print(type(name),name);# 双引号定义法,内含单引号name = \"\'zhangsan\'\";print(type(name),name);# 使用转义字符 \\ 解除引号作用name = \"\\\"zhangsan\\\"\";name = \'\\\'zhangsan\\\'\';print(type(name),name);
8.2、字符串拼接
如果我们有两个字符串字面量,可以将其拼接成一个字符串,通过+即可以完成
print(\"你好\"+\"世界\");
一般字面量与变量或变量与变量之间会常用字符串拼接,如:
name = \"张三\";print(\"我叫:\"+name, \"可以教大家法律知识\");
需要注意的是,拼接只能用于字符串本身,不能用于其他类型。
8.3、字符串格式化
我们可以发现字符串拼接的功能较为低下:变量过多,拼接不易;同时字符串与其他类型不能完成拼接。另一种方式便是字符串格式化。
class_num = 57;avg_salary = 16000;message = \"python大数据学科,北京%s期,平均工资:%s\" % (class_num,avg_salary);print(message)# %表示:要占位% s表示:将变量变成字符串放入占位的地方
多个变量占位变量要用括号括起来并按照展位的顺序填入。
常用占位符:%s、%d、%f
8.4、格式化的精度控制
a = 19.9;print(\"%f\" % a)# 输出结果为19.900000
这个时候我们就需要对精度进行控制。我们可以使用符号“m.n”来控制数据的宽度和精度。
· m,控制宽度,要求是数字,设置的宽度小于数字自身,不生效。
· n,控制小数精度,要求是数字,会进行小数的四舍五入。
示例:
· %5d:表示将整数宽度控制在5位,比如11,会变成[空格][空格][空格]11;
· %5.2f:表示将宽度设置成5位,精度设置成两位
小数点和小数部分也算如宽度计算。
· %.2f:表示不限制宽度,只限制精度
8.5、字符串格式化方式2
通过%符号占位的方式已经相当方便了,还能进行精度控制,但python还用一种更为优雅的解决方案。
通过语法:f\"内容{变量}\"的格式来快速格式化
# 不理会类型,也不做精度控制
class_num = 57;avg_salary = 16000;print(f\"python大数据学科,北京{class_num}期,平均工资:{avg_salary}\");
8.6、对表达式进行格式化
表达式是一条具有明确执行结果的代码语句。比如:1+1,5*2等等。
print(\"1+1的结果是:%d\" % (1+1))print(f\"1+1的结果是:{1+1}\")
# 练习name = \"传智播客\";stock_price = 19.99;stock_code = \"003032\";stock_price_daily_growth_factor = 1.2;growth_days = 7;print(f\"公司:{name},股票代码:{stock_code},当前股价:{stock_price}\");print(\"每日增长系数是:%2.1f,经过%d天的增长后,股价达到了:%4.2f\" % (stock_price_daily_growth_factor,growth_days,19.99*1.2**7))
9、数据输入
我们前面学习过print语句,可以将内容(字面量、变量)输出到屏幕上。在python中,与之对应的还有一个input语句,用来获取键盘输入。
· 使用input( )语句可以从键盘获取输入
· 使用一个变量接收(存储)input语句获取的键盘输入数据即可
print(\"请告诉我你的姓名\");name = input();print(\"%s\" % name)# name=input(\"请告诉我你的姓名\");# print(\"%s\" % name)
需要注意的是:无论键盘输入什么类型的数据,获取到的永远都是字符串类型!