print("Hello world! - python.jsrun.net .")
import this
'''
注释:方便理解、方便查找以及方便项目组里的其他开发人员了解你编写的代码。
单行注释:#
多行注释:一对 三引号;单双英文引号都可以
三引号在 Python 中,还可以用于【定义多行字符串】或【文档字符串(docstring)】。
缩进:tab键代表4个英文空格的缩进(Windows),注意不同系统,tab键缩进的空格数不一样,但也可以人为进行修改
'''
print("Hello, World")
'''
当输入以下代码块时,会发生错误。
print("Hello,
World")
运行结果:
File "/data/174464156211392494.py", line 32
print("Hello,
^
SyntaxError: unterminated string literal (detected at line 32)
解读:
错误发生行:line32
错误提示:^所在位置
^(caret):别名[乘方、插入符、脱字符、帽子(hat)、控制符(control)、上箭头(uparrow)]
错误具体原因:SyntaxError: unterminated string literal (detected at line 32)
未终止的字符串字面量:在编程中,指的是字符串字面量缺少结束引号的错误。
【语句】:Python的一句话。如:赋值、打印信息、输出到屏幕上、导入模块或执行其他众多任务。
语句都是从上到下逐条执行的,这种方式也叫作“顺序结构”,是Python中最基本的结构。
'''
print("Hello, \
World")
'''
转义字符(Escape Characters) : 是以反斜杠 \ 开头的特殊字符.
1.用于表示无法直接输入的字符(如换行、制表符等)
2、避免歧义(如字符串中的引号),对于语法冲突的字符,如英文单引号和双引号,引入反斜杠后,可以
'''
print('Hello, \nWorld')
print('Hello,World')
print('Hello, World')
print('Hello,\tWorld')
print('Hello, \tWorld')
print(len('Hello, \nWorld'))
print(len('Hello,World'))
print(len('Hello, World'))
print(len('Hello,\tWorld'))
print(len('Hello, \tWorld'))
print(len(''))
print(len(' '))
print(len('ab'))
print(len('a\nb'))
print(len('a\tb'))
print(r'this\has\no\special\characters')
x = 2
print(x)
'''
【变量命名】:
1.变量名只能由【英文字母、下划线_】或【数字】组成,且【第一个字符】必须是【“英文字母或下划线”】。
变量的命名要注意【大小写】的问题,name和Name在python中是两个不同的变量。
变量名使用小写字母开头是Python中约定俗成的做法。
2.变量名不能是Python的关键字(或叫保留字----指的是Python本身“已经在使用”的名字),。
要查看关键字,可以使用。。。来查询
3.对于变量的命名,尽量取一些有意义的名字。
【变量不用声明】,因为Python会自动识别数据类型。这一点跟其他语言是不同的。
变量是存储数据的容器,使用=进行赋值。
【赋值】:将 等号右侧的值 赋予给 等号左侧的变量 【是语句】
语法:变量 = 值
注意:赋值覆盖的能力。
a = 1
a = 2
print(a)
输出:2
因为语句是由上而下执行的,a的旧值已经被新的值所覆盖
未被赋值的变量名不能直接使用,会报错。
print(X) #前文并没有出现过X变量,且也没有对其进行赋值
【赋值运算符】
定义:右边表达式的值存储到左边的变量中去。
1.变量出现时,要被赋值,否则报错
2.赋值运算符是左侧不可以是值类型。如print(1 += 2)
【基本赋值运算符】:= 直接赋值 【是赋值语句】
链式赋值
可以同时给多个变量赋相同的值:
a = b = c = 10 # a、b、c 都赋值为 10
解包赋值(多变量赋值)
1.可以一次性给多个变量赋不同的值:
x, y, z = 1, 2, 3 # x=1, y=2, z=3
2.适用于交换变量的值:
a, b = b, a # 交换 a 和 b 的值
3.可用于解包序列(如列表、元组):
value = [10, 20, 30]
x, y, z = value # x=10, y=20, z=30
注意:复合赋值运算符(如+=等)没有链式赋值和解包赋值的形式,会报错。
海象运算符 (:=)(Python 3.8+) 【是赋值表达式】【海象表达式】
在表达式内部进行赋值(常用于 while 或 if 条件判断、列表推导式、正则表达式等):
if(n := len('Hello') > 3): n>3是一个表达式,在这个表达式内部对n进行赋值表达式(n:=len('Hello')返回5并赋值给n,if语块才是完整的语句
print(n) #输出5
等价于
name = 'Hello' 多了一个语句
n = len(name)
if n > 3:
print(n)
【复合赋值运算符】:【或增强赋值运算符】
运算符 示例 等价于 说明
+= x += 5 x = x + 5 加法后赋值
-= x -= 3 x = x - 3 减法后赋值
*= x *= 2 x = x * 2 乘法后赋值
/= x /= 4 x = x / 4 除法后赋值
//= x //= 3 x = x // 3 整除后赋值
%= x %= 2 x = x % 2 取模后赋值
**= x **= 2 x = x ** 2 幂运算后赋值
&= x &= y x = x & y 按位与后赋值
^= x ^= y x = x ^ y 按位异或后赋值
<<= x <<= 2 x = x << 2 左移后赋值
>>= x >>= 2 x = x >> 2 右移后赋值
【语句】VS【表达式】
print()函数:
打印、输出内容
输出变量的值。。。。
'''
'''
使用input()函数获取用户输入,可以将用户存储在变量中。
数据类型:(说白了,其实是变量对应的【值的类型】)
【数字】:
整数int: integer; 正整数、0、负整数 如:1001等
浮点数float: 由整数和小数组成
【整数转浮点数】:float(int)
【浮点数转整数】:int(float) #不会进行四舍五入,只会简单【截取】整数部分
int(2.7)和int(2.4) #返回2
复数complex: 由实数和虚数组成----a+bj或者complex(a, b); a为实部,b为虚部,都是浮点数
布尔值:True和False;只有两个
注意:首字母必须大写。 True和true不是同一个东西。
为什么布尔值归属于“数字”这个数据类型:
True等价于1;False等价于0
【字符串】:由 英文单引号 或 英文双引号 组成
字符串中的字符个数可以是: 0,1个,多个
print('Let's go!') 运行会报错:
想要输出带引号的字符串:
一对单引号包含双引号/一对双引号包含单引号 print("Let's go!') 这也是Python同时支持单引号和双引号的原因之一。
转义字符 print('Let\'s go!')
原始字符串:在字符串前面加上r或R,表示这是一个原始字符串。 print(r'Let's go!')
原始字符串在遇到【路径】作为参数值时特别有用。
print(r'C:\northwest\northwind')
在上述代码中,如果没有r对Python提前说明,会先识别\为反斜杠,然后紧接着识别其后面的n,即\n换行
【type()函数】:判断变量或值是什么类型。
语法:type(变量或值)
【整数型字符串转成数字】:int(integer_string) #成立,转化成int
【浮点数型字符串转换成数字】:int(float_string) #报错
【浮点数型字符串转换成数字】:float(float_string) #成立,转化成float
【整数型字符串转成数字】:flaot(int_stirng) #成立,转化成float
【字符串】+【数字】:会报错,要转换
【+】:表示字符串拼接时,数字转字符串
【+】:表示算术运算符时,字符串转数字(前提字符串书数字型字符串)
数据结构:以某种方式(比如:通过索引/编号/下标)组合起来的一组数据
序列:列表list、元组tuple、字符串string
定义:序列中的每个元素都有一个编号/索引/下标/位置。其中第一个元素的下标为0,第二个元素的下标为1,以此类推。
注意:下标是从0开始的。
字典dictionary
集合set
字符串的方法操作:
方法:strip()去除空格,capitalize()首字母大写,title()每个单词首字母大写。
函数的链式调用,如name.strip().title()使代码更简洁。
格式化字符串:f-string
利用f-string来插入变量,如f'Hello, {name}'。
错误处理:
使用try和except来处理异常。
如果设置一个函数不返回任何的值,那么脚本在执行的时候默认抛出什么值? None
'''