Python作为一门编程语言,这门语言的魅力和影响力已经远超C++、C#等编程语言前辈,被程序员誉为“美好的”编程语言。Python可以说是全能的,系统运维、图形处理、数学处理、文本处理、数据库编程、网络编程、web编程、多媒体应用、pymo引擎、黑客编程、爬虫编写、机器学习、人工智能等等,应用无处不在。
ctrl+ alt +s:打开软件设置
ctrl+d:复制当前行代码
shift+alt+上下:将当前行代码上移或下移
crtl+ shift+f10:运行当前代码文件
shift+f6:重命名文件
ctrl+a:全选
ctrl+ c\v\x:复制、粘贴、剪切
ctrl+f:搜索
类型 | 描述 | 说明 |
数字(Number) | 支持: 整数 (int) 浮点数 (float)复数 (complex)布尔(bool) |
整数 (int) ,如: 10、-10 浮点数 (float),如:13.14、-13.14 复数(complex),如:4+3j,以j结尾表示复数 布尔(bool)表达现实生活中的逻辑,即真和假,True表示真alse表示假。True本质上是一个数字记作1,False记作0 |
字符串(String) | 描述文本的一种数据类型 | 字符串 (string)由任意数量的字符组成 |
列表 (List) | 有序的可变序列 | vthon中使用最频繁的数据类型,可有序记录一堆数据 |
元组 (Tuple) | 有序的不可变序列 | 可有序记录一堆不可变的Pvthon数据集合 |
集合(Set) | 无序不重复集合 | 可无序记录一堆不重复的Python数据集合 |
字典(Dictionary) | 无序Key-Value集合 | 可无序记录一堆Key-Value型的Python数据集合 |
Python中,字符串需要用双引号('')包围起来,被引号包围起来的统统都是字符串
print(666)
print(13.14)
print("黑马程序员")
成功输出:
注释:在程序代码中对程序代码进行解释说明的文字
作用:注释不是程序,不可以被执行
单行注释:以 #开头,#右边 的所有文字当作说明,而不是真正要执行的程序,起辅助说明作用
# 来写一个注释
print("Hello World")
#和注释内容一般建议以一个空格隔开
多行注释:以一对三个双引号 引起来 ("""注释内容""")来解释说明一段代码的作用使用方法
"""
来写一段多行注释
第一行
第二行
第三行
"""
print("以上是多行注释")
变量:在程序运行时,能储存计算结果或能表示值的抽象概念。
简单的说,变量就是在程序运行时,记录数据用的。
变量的定义格式
变量名称 = 变量的值
每一个变量都有自己存储的值(内容),称之为:变量值
等号赋值,表示将等号右侧的值,赋予左侧的变量
每一个变量都有自己的名称,称之为:变量名,也就是变量本身
money = 50
print ("钱包还有:", money)
加(+)、减(-)、乘(*)、除(/)
# 买了一个冰淇淋,花费10元
money = money - 10
print("买了冰淇淋减去10元,还剩下:", money)
变量是为了记录数据,也是为了可以重复的使用数据
变量的值可以改变
格式: print(内容1,内容2,......, 内容N)
课后作业:
在学习字面量的时候,我们了解到:数据是有类型的。
目前在入门阶段,我们主要接触如下三类数据类型:
类型 | 描述 | 说明 |
string | 字符串类型 | 用引号引起来的数据都是字符串 |
int | 整型(有符号) | 数字类型,存放整数如 -1,10,0等 |
float | 浮点型(有符号) | 数字类型,存放小数如 -3.14,6.66 |
那么,问题来了,如何验证数据的类型呢?
我们可以通过type()语句来得到数据的类型语法: type(被查看类型的数据)
在print语句中,直接输出类型信息:
print(type("黑马程序员"))
print(type("666"))
print(type("11.345"))
string_type = type("黑马程序员")
int_type = type(666)
float_type = type(11.345)
print(string_type)
print(int_type)
print(float_type)
name = "黑马程序员"
name_type = type(name)
print(name_type)
### 上面的代码就等于
print(type("黑马程序员"))
我们通过type(变量)可以输出类型,这是查看变量的类型还是数据的类型?
查看的是:变量存储的数据的类型。因为,变量无类型,但是它存储的数据有。
数据类型之间,在特定的场景下,是可以相互转换的,如字符串转数字、数字转字符串等
数据类型转换,将会是我们以后经常使用的功能。如:
从文件中读取的数字,默认是字符串,我们需要转换成数字类型
后续学习的input()语句,默认结果是字符串,若需要数字也需要转换
将数字转换成字符串用以写出到外部系统
语句(函数) | 说明 |
int(x) | 将x转换为一个整数 |
float(x) | 将x转换为一个浮点数 |
str(x) | 将对象 x 转换为字符串 |
同前面的type()语句一样,这三个语句,都是带有结果的(返回值)
我们可以用print直接输出 或者用变量存储结果值
# 将11这个整数类型转换成字符串类型
num_str = str(11)
# 先输出num_str的数据类型,再输出num_str这个变量里存储的数据验证如果数据类型转化之后会不会影响存储的数据值
print(type(num_str), num_str)
str_num = int("11")
print(type(str_num), str_num)
str_float = float("12")
print(type(str_float), str_float)
注意:万物可转字符串,但不是所有的字符串都可以转换成数字
想要将字符串转换成数字,必须要求字符串内的内容都是数字
# 整数转换成浮点数
float_num = float(11)
print(type(float_num), float_num)
# 浮点数转化成整数
num = int(11.23)
print(type(num), num)
在Python程序中,我们可以给很多东西起名字,比如:
变量的名字
方法的名字
类的名字,等等
这些名字,我们把它统一的称之为标识符,用来做内容的标识
所以,标识符: 是用户在编程的时候所使用的一系列名字,用于给变量、类、方法等命名。
Python中,标识符命名的规则主要有3类:
标识符命名中,只允许出现:
英文、中文、数字、下划线(_)
以定义变量为例:
Andy=“安迪1”
andy=“安迪2”
字母a的大写和小写,是完全能够区分的
Andy = 安迪1
andy = 安迪2
print(Andy)
print(andy)
# 结果为:
# 安迪1
# 安迪2
Python中有一系列单词,称之为关键字。
关键字在Python中都有特定用途。
我们不可以使用它们作为标识符。
注意:1.不推荐使用中文 2.数字不可以开头
学完了标识符(变量、类、方法)的命名规则后,我们在来学习标识符的命名规范
变量名、类名、方法名
不同的标识符,有不同的规范。
我们目前只接触到了:变量。所以,目前学习:变量的命名规范
①见名知意
②下划线命名法
③英文字母小写
运算符 | 描述 | 实例 |
+ | 加 | 两个对象相加a+b输出结果 30 |
- | 减 | 得到负数或是一个数减去另一个数 a-b输出结果-10 |
* | 乘 | 两个数相乘或是返回一个被重复若干次的字符串 a*b输出结果200 |
/ | 除 | b/a输出结果2 |
// | 取整除 | 返回商的整数部分 9//2 输出结果 4,9.0//2.0 输出结果4.0 |
% | 取余 | 返回除法的余数 b% a 输出结果0 |
** | 指数 | a**b为10的20次方,输出结果100000000000000000000 |
print("1 + 1 = ", 1 + 1)
print("2 - 1 = ", 2 - 1)
print("2 * 3 = ", 2 * 3)
print("4 / 2 = ", 4 / 2)
print("11 // 2 = ", 11 // 2)
print("9 % 2 = ", 9 % 2)
print("2 ** 2 = ", 2 ** 2)
运算符 | 描述 | 实例 |
= | 赋值运算符 | 把=号右边的结果赋给 左边的变量,如 num=1+2*3,结果num的值为7 |
运算符 | 描述 | 实例 |
+= | 加法赋值运算符 | c+=a等效于c=c+a |
-= | 减法赋值运算符 | c-=a等效于c=c-a |
*= | 乘法赋值运算符 | c*=a等效于c=c*a |
/= | 除法赋值运算符 | c/=a等效于c=c/a |
%= | 取模赋值运算符 | c%=a等效于c=c% a |
**= | 幂赋值运算符 | c**=a等效于C=C**a |
//= | 取整除赋值运算符 | c//=a等效于c=c//a |
name = '黑马程序员'
name = " 黑马程序员"
name = " " "黑马程序员" " "
三引号定义法,和多行注释的写法一样,同样支持换行操作。
使用变量接收它,它就是字符串
不使用变量接收它,就可以作为多行注释使用。
思考:如果我想要定义的字符串本身,是包含:单引号、双引号自身呢?如何写?
可以内含双引号
可以内含单引号
name = '"happy"'
name = "'happy'"
name = "\"happy\""
name = '\'happy\''
如果我们有两个字符串(文本)字面量,可以将其拼接成一个字符串,通过+号即可完成,如:.
print("学IT来黑马"+"月薪过万")
输出结果:
学IT来黑马月薪过万
不过一般,单纯的2个字符串字面量进行拼接显得很呆,一般,字面量和变量或变量和变量之间会使用拼接,如:
name = “黑马程序员"
print("我的名字是:” + name +",我可以教大家IT技能”)
输出结果:我的名字是:黑马程序员,我可以教大家IT技能
# 字符串字面量的拼接
print("今天很开心"+"吃了冰淇淋")
# 字符串字面量和字符串变量的拼接
name = "lxl"
birthday = "0518"
print("我的名字叫:" + name + ", 我的生日是:" + birthday)
注意:字符串是无法通过加号和整数进行拼接的
变量过多,拼接起来实在是太麻烦了
字符串无法和数字或其它类型完成拼接。
我们可以通过如下语法,完成字符串和变量的快速拼接
name = "黑马程序员"
message ="学IT就来 %s" % name
print(message)
其中的, %s
% 表示:我要占位
s 表示:将变量变成字符串放入占位的地方
所以,综合起来的意思就是:我先占个位置,等一会有个变量过来,我把它变成字符串放到占位的位置
字符串格式化的语法:
"%占位符" % 变量
#字符串自变量和数字进行拼接
class_num = 57
avg_slary = 16781
message = "Python大数据学科,北京%s期,毕业平均工资:%s" % (class_num, avg_slary)
print(message)
注意:多个变量占位时,变量要用括号括起来,并按照占位的顺序填入
# 字符串的格式化
name = "lxl"
message = "My name is: %s" % name
print(message)
Python中,其实支持非常多的数据类型占位
格式符号 | 转化 |
%s | 将内容转换成字符串,放入占位位置 |
%d | 将内容转换成整数,放入占位位置 |
%f | 将内容转换成浮点型,放入占位位置 |
name = "lxl"
age = 20
money = 100.00
message = "My name is: %s, My age is: %d, I have money: %f" % (name, age, money)
print(message)
如下代码,完成字符串、整数、浮点数,三种不同类型变量的占位:
name = "lxl"
age = 20
money = 100.00
message = "My name is: %s, My age is: %d, I have money: %f" % (name, age, money)
print(message)
但会发现money这个浮点数在输出时小数点后面有很多很多位,这是因为没有对其做精度的控制
我们可以使用辅助符号"m.n"来控制数据的宽度和精度
m,控制宽度,要求是数字(很少使用),设置的宽度小于数字自身,不生效
.n,控制小数点精度,要求是数字,会进行小数的四舍五入
示例:
%5d:表示将整数的宽度控制在5位,如数字11,被设置为5d,就会变成:[空格][空格]空格]11,用三个空格补足宽度。
%5.2f:表示将宽度控制为5,将小数点精度设置为2
小数点和小数部分也算入宽度计算。如,对11.345设置了%7.2f后,结果是:[空格][空格]11.35。2个空格补足宽度,小数部分限制2位精度后,四舍五入为.35
%.2f: 表示不限制宽度,只设置小数点精度为2,如11.345设置%.2f后,结果是11.35
num1 = 11
num2 = 11.345
print("数字11宽度限制5, 结果是: %5d" % num1)
print("数字11宽度限制1, 结果是: %1d" % num1)
print("数字11.345宽度限制7,精度限制2 结果是: %7.2f" % num2)
print("数字11.345,精度限制2 结果是: %.2f" % num2)
通过语法:f"内容{变量}"的格式来快速格式化
快速格式化的特点就是不限制数据类型,同时也不做精度控制
name = "somewhere"
set_up_year = 1997
stock_price = 19.99
print(f"我是{name},我成立于:{set_up_year}年,股票价格为:{stock_price}")
表达式:一条具有明确执行结果的代码语句
1+1、5*2 就是表达式,因为有具体的结果,结果是一个数字。
又或者,常见的变量定义:
name = "张三" age = 11 + 11
print("1 * 1的结果是:%d" % (1 * 1))
print(f"1 * 1的结果是:{1 * 1}")
print("字符串在Python中的类型是:%s" % type('字符串'))
# 在无需使用变量进行数据存储的时候,可以直接格式化表达式,简化代码
# 作业
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}")
result = stock_price * stock_price_daily_growth_factor ** growth_days
print("每日增长系数为:%.1f, 经过%d天的增长后, 股价达到了:%.2f" % (stock_price_daily_growth_factor, growth_days, result))
试想一下,我们经常遇到过程序需要我们输入信息的场景。比如:银行取钱
我们前面学习过print语句(函数),可以完成将内容(字面量、变量等)输出到屏幕上
在Python中,与之对应的还有一个input语句,用来获取键盘输入。
数据输出:print
数据输入:input
使用上也非常简单:
使用input()语句可以从键盘获取输入
使用一个变量接收(存储input语句获取的键盘输入数据即可
print("请告诉我你的名字?")
name = input()
print("我知道了,你的名字是%s " % name)
第一句的print有点多余,可以将代码修改为
name = input("请告诉我你的名字?")
print("我知道了,你的名字是%s " % name)
总结:可以使用input(提示信息),用以在使用者输入内容之前显示提示信息
name = input("请告诉我你的名字?")
print("我知道了,你的名字是%s " % name)
date = input("请告诉我你的出生日期")
print("你的出生日期的类型是:", type(date))
注意:input语句无论写入的是什么语句,都会当成字符串来对待
name = input("请告诉我你的名字?")
print("我知道了,你的名字是%s " % name)
date = input("请告诉我你的出生日期")
date = int(date)
print("你的出生日期的类型是:", type(date))
user_name = input("用户名:")
user_type = input("vip的等级为:")
print(f"您好:{user_name}, 您是尊贵的:{user_type} 欢迎您的光临")
好啦,以上就是关于Python黑马教程的第一二章内容啦,包括了Python10个方面的基础语法,
一起来愉快的学习python吧lol