python编程语言之环境搭建,基本语法

Python环境搭建,解释器安装

CPython,Jpython,ironpython。。。我们入门一般使用的Cpython
python目前最新版本的解释器是3.10版本,但是在工作中一般常用的版本有2.7,3.5,3.8,3.9版本。
官网:https://www.python.org/
下载地址:https://www.python.org/ftp/python/3.9.9/python-3.9.9-amd64.exe
在这里插入图片描述
在这里插入图片描述

python基础语法

命名规范

简单地理解,变量就是一个代号(别名),就好像我们每个人都有属于自己的名字,它的主要作用就是为了方便程序中的数据被方便地的调用而设置的。Python中变量名不是随意起的,而是要遵守一定的命名规则。

  • 变量是由大小写字母(A~Z 和 a~z)、下划线和数字组成,但第一个字符不能是数字开头。
  • 变量不能和 Python 中的关键字或保留字相同。
  • 变量中不能包含特殊字符的,如:空格、@、% 以及 $ 等。
  • 变量中的字母是严格区分大小写,开发中一般称之为对大小写敏感。
  • 一般以下划线开头的变量名有特殊含义的,变量不能随便以下划线开头。
  • 允许使用汉字作为变量名的(但是强烈不推荐使用,因为并不通用而且在部分计算机系统中不识别中文)

在这里插入图片描述
执行python代码,也可以查看关键字与保留字

import keyword
print(keyword.kwlist)

注释

注释就类似文章中的注解、旁白。其实就是对源代码的解释和说明,其目的是让其他开发人员能更加轻松地理解代码的作用。
注释是编写程序时,写程序的作者给一段关键性的代码进行解释或提示,能提高程序代码的可读性。一般情况下,合理的代码注释应该占源代码的 1/3 左右。

注释只是为了提高公认阅读,不会被解释器执行。

Python 支持两种写法的注释,分别是单行注释和多行注释。

#  单行注释,后面一整行不会被解释器执行成代码

"""
这是一个多行注释
三引号里面的任何内容不会被解释器执行
"""

python基本数据类型

int

int,integer,翻译:整数,整型

在python中整数都属于整型,不同于其他语言,例如C语言会根据整数的大小将整型分类为short、int、long、long long 四种类型,python只有一种整型,即int类型,无论整型数字多大多小都属于int

main.py,代码:

x = 10
print(x)

# type(变量名)   表示查看这个变量代表的数据的类型
print(type(x))  # <class 'int'>

y = 0
print(type(y)) # <class 'int'>

w = -1900
print(type(w)) # print(type(w))

a = 10 * 10
print(type(a)) # print(type(w))

进制转换

说到整型,就不得不提到整型数字之间进制。

# 十进制,Decimal, 使用0-9这10个数字表达一个整数,满十进一
print(10)
print(9)
print(11)

# 二进制,Binary,使用0,1 这2个数字表达一个整数,满二进一
print(0b1010)  # 打印的结果默认以十进制显示:10

# 八进制,octal,使用0~7,这8个数字表达一个整数,满八进一
print(0o0777)  # 打印的结果默认以十进制显示:511

# 十六进制,hexadecimal,使用0~9,a,b,c,d,e,f 这16个字符表达一个整数,满十六进一
print(0xffffff)  # 打印的结果默认以十进制显示,16777215


# 把其他进制的数字转换成二进制,例如:把十进制的10转换
print(bin(10))  # 0b1010

# 其他进制的数字转换成十六进制吗,例如:把十进制的19转换
print(hex(190))  # 0xbe

# 其他进制的数字转换成八进制,例如:把十进制的100转换
print(oct(100)) # 0o144

# 把其他的数字转换成十进制的
r = int("0b100", base=2)  # 这里就已经帮我们把十进制转换成二进制
print(r) # 4

r = int("0x5ff", base=16)
print(r) # 1535

print(hex(1535)) # 0x5ff

r = int("0o755", base=8) # 493
print(oct(r))  # 0o755

float

在python中小数都属于浮点型(float),有两种表现形式

# 小数点形式(常用)
f =  3.14
print(f)  # 3.14
print(type(f)) # <class 'float'>

# 指数形式: aEn 或 aen
'''
3.2E5 = 3.2×105,其中 3.2 是尾数,5 是指数。
2.7E-3 = 2.7×10-2,其中 2.7 是尾数,-3 是指数。
0.2E8 = 0.2×107,其中 0.2 是尾数,8 是指数。
'''

f = 3.14E5
print(f, type(f)) # 314000.0 <class 'float'>

f = 3E5
print(f, type(f)) # 300000.0 <class 'float'>

# E的后面跟着正数,则右边补0,3表示3个0
f = 3.1E3
print(f) # 3100

# E的后面跟着负数,则左边补0,-3表示3个0
f = 3.1E-3
print(f) # 0.0031

bool

布尔型(Boolean)是一种数据的类型,这种类型只有两种值,即"真"与"假"。在python中用 bool表示布尔类型,“真"用关键字True表示,有成立的意思;“假"用False表示,有不成立的意思。

print(4 == 2) # False
print(5 > 1)  # True

name = "jiang"
print(name == "moluo") # False
print(1 == "1") # False

不光上面代码语句的结果是布尔值,单独一个数据没有进行计算也可以都有自己的布尔值,这就涉及到布尔的零值

# 任意数据类型都一个具体值的布尔值为False,
# 我们称为零值。该类型的其他值的布尔值皆为True。
print(bool("")) # 字符串的零值 “”
print(bool(0))  # 整型的零值 0

print(bool("0"))
print(bool("-1"))  
print(bool("moluo"))
print(bool(-1))
print(bool(0.1))

str

str,string,字符串,表示一串字符。

字符串是由零个或多个字符组成的有限序列。字符串的内容可以包含字母、标点、特殊符号、中文、日文等全世界的所有字符。

在python中字符串是通过单引号''或者双引号""标识的。

# str, 字符串

# 这里是错误的写法
# x = xiaoming

name = "xiaoming" # 只要不是用于计算的,仅仅用于记录的数据,都可以使用字符串来表示
print(name, type(name)) # xiaoming <class 'str'>

mobile = '13928835901'
print(mobile, type(mobile)) # 13928835901 <class 'str'>


# 除非特殊情况,否则不要使用下面的方式声明字符串
message = """hello, xiaoming"""
print(message, type(message))

message2 = '''hello, xiaohong'''
print(message2, type(message2))

强调:Python 字符串中的双引号和单引号没有任何区别!

在这里插入图片描述

s1 = "hi libai\nhi,moluo"
print(s1)

s2 = 'I\'m moluo'
print(s2)

s3 = "D:\\nythonProject\\nenv\\Scripts\\python.exe"
print(s3)


# str, 字符串

# 这里是错误的写法
# x = xiaoming

# 下面才是正确写法
# name = "xiaoming" # 只要不是用于计算的,仅仅用于记录的数据,都可以使用字符串来表示
# print(name, type(name)) # xiaoming <class 'str'>
#
# mobile = '13928835901'
# print(mobile, type(mobile)) # 13928835901 <class 'str'>
#
#
# # 除非特殊情况,否则不要使用下面的方式声明字符串
# message = """hello, xiaoming"""
# print(message, type(message))
#
# message2 = '''hello, xiaohong'''
# print(message2, type(message2))


# 在字符串中如果要让程序输出的时候,达到换行,回车,缩进的效果,则需要填写有特殊含义的转义字符
# message3 = "老师:\n小明滚出去!" # 正常情况下,n没有任何作用,在字符串,想要让内容换行,就需要对n进行转义,使用\反斜杠就可以转义了。
# print(message3)
# message3 = "老师:\n\t小明滚出去!" # 缩进,一个\r就相当于键盘里面tab键
# print(message3)

# message3 = "老师:\r小明滚出去!" # 把光标移动到本行的第一个字符位置
# print(message3)
#
# message3 = "abcdef\rwww" # www会把左侧的所有内容抹掉了
# print(message3)

# 注意:字符串是有开始和结束符号的,都是双引号,所以一个正常的字符串,必然是成对的引号圈起来,如果出现奇数个引号,则会报错!
# message = "tony: 'welcome to beijing!'"
# print(message) tony: 'welcomen to beijing!'
#
# message = 'tony: "welcome to beijing!"'
# print(message) tony: "welcomen to beijing!"

# message = "tony: \"welcomen to beijing!\""
# print(message) # tony: "welcomen to beijing!"

# 因为在字符串中,反斜杠具有特殊作用,代表转义能力,所以如果要输出一个普通的反斜杠,就需要2个反斜杠了
# message = "C:\python\\new\python3.exe" # C:\python\new\python3.exe
# print(message)

# message = "C:\\python\\new\\python3.exe"
# print(message)


# 如果希望一个字符串中没有任何的特殊字符,不要什么换行,也不要什么回车了,
message = r"C:\python\new\python3.exe"  # 在左边引号的左边加上小写字母r
print(message) # C:\python\new\python3.exe

# r 表示raw,原始的意思,用在字符串中,表示原样输出

长字符串

也叫文本字符串。就是三个单引号或者三个双引号圈住的内容,实际上也是字符串。

但是,开发中基本没有人这么写。开发中也不建议使用这样的字符串!!!因为长字符串作为注释了!!!!!

s = """
    s = "hi moluo\\nhi,python"
    I'm moluo
    这是一个python解释器路径:"D:\\nythonProject\\nenv\Scripts\python.exe" 
长字符串中放置单引号或者双引号不会导致解析错误
"""
print(s)

格式化输出

之前讲到过 print() 函数的用法,这只是最简单最初级的形式,print() 还有很多高级的玩法,比如格式化输出。

# 允许用户在终端下输入自己的账号和密码
username = input("请输入您的登录账号:")
password = input("请输入您的登录密码:")
# 格式化输出的字符串中存在多个变量,则需要在 % 后面把对应的变量使用小括号括起来。
print("您的账号:%s,登录密码:%s" % (username, password))

year = 2022
month = 1
date = 7
# %02d 以整数输出,如果不足2位整数的,左边加0补充进去
print("%d-%02d-%02d" % (year, month, date))
year = 2022
month = 10
date = 17
print("%d-%02d-%02d" % (year, month, date))

在 print() 函数中,由引号包围的是格式化字符串,它相当于一个字符串模板,可以放置一些转换说明符(占位符)。本例的格式化字符串中包含一个%s%d说明符,它最终会被后面的name和age 变量的值所替代。中间的%是一个分隔符,它前面是格式化字符串,后面是要输出的表达式。

print() 函数使用以%开头的转换说明符对各种类型的数据进行格式化输出,具体请看下表。
在这里插入图片描述

# # print() 标准输出,把数据当成字符串,打印到终端
#
# # 可以打印一个数据
# x = 10
# print(x)
#
# # 也可以打印多个数据,多个数据使用英文逗号隔开
# y = 100
# z = 200
# print(x, y, z, 400)

"""格式化输出"""
# 问题:小明花了10块钱买了3斤的香蕉,问香蕉多少钱一斤?
# money = 10
# weight = 3
# avg = money/weight
# print("%.2f" % avg)


# 格式化输出
# year = 2022
# month = 10
# date = 7
# # 2022-03-16
# print("%d-03-16" % year) # %d 表示把对应位置的数字作为整数输出
# print("%d-%02d-16" % (year, month)) # %02d 表示把对应位置的数字使用2个位置显示,如果位数不够,左边补0
# print("%d-%02d-%02d" % (year, month, date)) # %02d 表示把对应位置的数字使用2个位置显示,如果位数不够,左边补0

# x = 1
# y = 1
# z = x*y # 相乘
# print("%dx%d=% 2d" % (x,y,z)) # % 2d ---> 按2个位置输出数字,如果不够2个位置,则补充空格
#
# x = 9
# y = 9
# z = x*y
# print("%dx%d=%d" % (x,y,z))
#
# name = "小李"
# print("我叫%s" % name)


# 标准输入 input,允许开发者在终端下输入一些数据到python程序中

name = input("请输入您的大名:")
print("我叫%s" % name) # 此时name代表的就是程序运行时,用户通过键盘录入的数据了,肯定是字符串
6. 单行注释与多行注释
7. 不同进制的数字的写法,以及进制之间的转换的几个函数
   二进制:0b开头    bin()
   八进制:0o开头    oct()
   十进制:普通数字   int()
   十六进制:0x开头   hex()
8. 字符串的转义符号
   \\
   \n
   \r\n
   \t

练习

# 变量的命名规则
x = "Ctrl+wheel,可以控制编辑器中的字体大小"
print(x)
print(x)
print(x)
print(x)
print("Ctrl+鼠标中间的滚轮,可以控制编辑器中的字体大小") # ctrl+D


banzhang = 100
print(banzhang)

b1 = 100
a1 = 200

# 不能以数字开头!!
# 1a = 100

# if这种的单词,就是在python有特殊作用的单词,不能作为变量名
# if = 300

# 不能使用特殊符号
# a1+1 = 2


# 变量名区分大小写
# a = 100
# print(A)

# 以下变量符合规范,可以使用
user = "xiaoming"
age = 17

my_password = "123456"
myMobile = "13312345678"

#查看关键字和保留字
# ctrl+A 全选内容
import keyword
print(keyword.kwlist)

# ['False', 'None', 'True', '__peg_parser__', 'and', 'as', 'assert', 'async', 'await', 'break', 'class',
# 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import',
# 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
#变量的声明过程
x = 10
print(x)

x = 20
print(x)


x = 10
y = "hi, libai"
z = True
x = "hello world"

print(x)

# 注释
x = 10  # 这一行代码其实分2步,x 表示在内存中开辟一个空间, = 10 这个表示让数据10存入到x所指向的空间

# 这里重复的对x进行赋值,表示是对x对应的空间里面的内容进行修改,
x = 20

"""
打印x代表的数据
print 是python中提供给我们用于开发和调试的一个打印指令(函数)
print(x)
"""

"""
多行注释必须由三个引号组成,里面的内容不会被python解释器运行
引号可以三个单引号,也可以是双引号
"""

'''
但是,引号必须使用英文输入法下的引号,不能使用中文的
'''
# ‘’‘  这是中文的引号,不能被python识别

# ’‘’
print (123)

print(456)

# 基本数据类型-整型
x = 10
print(x)

# type(变量名)   表示查看这个变量代表的数据的类型
print(type(x))  # <class 'int'>

exit()

y = 0
print(type(y)) # <class 'int'>

w = -1900
print(type(w)) # print(type(w))

a = 10 * 10
print(type(a)) # print(type(w))


# 整型-进制转换
# # 十进制,Decimal, 使用0-9这10个数字表达一个整数,满十进一
# print(10)
# print(9)
# print(11)
#
# # 二进制,Binary,使用0,1 这2个数字表达一个整数,满二进一
# print(0b1010)  # 打印的结果默认以十进制显示:10
#
# # 八进制,octal,使用0~7,这8个数字表达一个整数,满八进一
# print(0o0777)  # 打印的结果默认以十进制显示:511
#
# # 十六进制,hexadecimal,使用0~9,a,b,c,d,e,f 这16个字符表达一个整数,满十六进一
# print(0xffffff)  # 打印的结果默认以十进制显示,16777215
#
#
# # 把其他进制的数字转换成二进制,例如:把十进制的10转换
# print(bin(10))  # 0b1010
#
# # 其他进制的数字转换成十六进制吗,例如:把十进制的19转换
# print(hex(190))  # 0xbe
#
# # 其他进制的数字转换成八进制,例如:把十进制的100转换
# print(oct(100)) # 0o144
#
#
# # 数学中,任何数字的0次方都是1
# print(10**0) # 1
# print(-1**0) # -1
# print(0**0)  # 1,注意一下


# 把其他的数字转换成十进制的
r = int("0b100", base=2)  # 这里就已经帮我们把十进制转换成二进制
print(r) # 4

r = int("0x5ff", base=16)
print(r) # 1535

print(hex(1535)) # 0x5ff

r = int("0o755", base=8) # 493
print(oct(r))  # 0o755

# 浮点型
# 凡是小数都是浮点类型,float

x = 3.1415
print(x) # 3.1415
print(type(x))  # <class 'float'>

x = 10.0
print(x, type(x)) # 10.0 <class 'float'>


f = 3.14E5
print(f, type(f)) # 314000.0 <class 'float'>

f = 3E5
print(f, type(f)) # 300000.0 <class 'float'>

# E的后面跟着正数,则右边补0
f = 3.1E3
print(f) # 3100.0

# E的后面跟着负数,则左边补0
f = 3.1E-3
print(f) # 0.0031
# 布尔型
# # 布尔类型,bool,boolean
#
# x = True
#
# print(x, type(x)) # True <class 'bool'>
#
#
# x = False
# print(x, type(x)) # False <class 'bool'>
#
#
# """
# 布尔类型只有2个值,
# 一般在程序中用于判断,比较,这种情况的的结果就是布尔值
# """
#
# age = 18
# print(age > 18)  # False
#
# age = 10
# print(age < 18)  # True


# 把其他数据转换成布尔值
# print(bool(0))    # False
# print(bool(0.0))  # False
# print(bool(10))   # True
# print(bool(-10))  # True
# print(bool(3.14)) # True


print(bool(""))  # False
print(bool(" ")) # True


print(bool("0"))  # True
print(bool("-1")) # True
# 字符串
# str, 字符串

# 这里是错误的写法
# x = xiaoming

# 下面才是正确写法
# name = "xiaoming" # 只要不是用于计算的,仅仅用于记录的数据,都可以使用字符串来表示
# print(name, type(name)) # xiaoming <class 'str'>
#
# mobile = '13928835901'
# print(mobile, type(mobile)) # 13928835901 <class 'str'>
#
#
# # 除非特殊情况,否则不要使用下面的方式声明字符串
# message = """hello, xiaoming"""
# print(message, type(message))
#
# message2 = '''hello, xiaohong'''
# print(message2, type(message2))


# 在字符串中如果要让程序输出的时候,达到换行,回车,缩进的效果,则需要填写有特殊含义的转义字符
message3 = "老师:\n小明滚出去!" # 正常情况下,n没有任何作用,在字符串,想要让内容换行,就需要对n进行转义,使用\反斜杠就可以转义了。
print(message3)
message3 = "老师:\n\t小明滚出去!" # 缩进,一个\r就相当于键盘里面tab键
print(message3)

message3 = "老师:\r小明滚出去!" # 把光标移动到本行的第一个字符位置
print(message3)

message3 = "abcdef\rwww" # www会把左侧的所有内容抹掉了
print(message3)

# 注意:字符串是有开始和结束符号的,都是双引号,所以一个正常的字符串,必然是成对的引号圈起来,如果出现奇数个引号,则会报错!
message = "tony: 'welcome to beijing!'"
print(message) # tony: 'welcomen to beijing!'

message = 'tony: "welcome to beijing!"'
print(message) # tony: "welcomen to beijing!"

message = "tony: \"welcomen to beijing!\""
print(message) # tony: "welcomen to beijing!"

# 因为在字符串中,反斜杠具有特殊作用,代表转义能力,所以如果要输出一个普通的反斜杠,就需要2个反斜杠了
message = "C:\python\\new\python3.exe" # C:\python\new\python3.exe
print(message)

message = "C:\\python\\new\\python3.exe"
print(message)


# 如果希望一个字符串中没有任何的特殊字符,不要什么换行,也不要什么回车了,
message = r"C:\python\new\python3.exe"  # 在左边引号的左边加上小写字母r
print(message) # C:\python\new\python3.exe

# r 表示raw,原始的意思,用在字符串中,表示原样输出
# 输入输出
# # print() 标准输出,把数据当成字符串,打印到终端
#
# # 可以打印一个数据
# x = 10
# print(x)
#
# # 也可以打印多个数据,多个数据使用英文逗号隔开
# y = 100
# z = 200
# print(x, y, z, 400)

"""格式化输出"""
# 问题:小明花了10块钱买了3斤的香蕉,问香蕉多少钱一斤?
# money = 10
# weight = 3
# avg = money/weight
# print("%.2f" % avg)


# 格式化输出
# year = 2022
# month = 10
# date = 7
# # 2022-03-16
# print("%d-03-16" % year) # %d 表示把对应位置的数字作为整数输出
# print("%d-%02d-16" % (year, month)) # %02d 表示把对应位置的数字使用2个位置显示,如果位数不够,左边补0
# print("%d-%02d-%02d" % (year, month, date)) # %02d 表示把对应位置的数字使用2个位置显示,如果位数不够,左边补0

# x = 1
# y = 1
# z = x*y # 相乘
# print("%dx%d=% 2d" % (x,y,z)) # % 2d ---> 按2个位置输出数字,如果不够2个位置,则补充空格
#
# x = 9
# y = 9
# z = x*y
# print("%dx%d=%d" % (x,y,z))
#
# name = "小李"
# print("我叫%s" % name)


# 标准输入 input,允许开发者在终端下输入一些数据到python程序中

name = input("请输入您的大名:")
print("我叫%s" % name) # 此时name代表的就是程序运行时,用户通过键盘录入的数据了,肯定是字符串
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值