基础语法
标签(空格分隔): python
目录1,注释
# 井号标注的文本
2,数字
2.1 整数int
- python3开始不再区分long、int,long被重命名为int,所以只有int类型了
- python3开始已经不限制整数的长度了
- 进制表示:(逢几进一就是几进制)
十进制10
十六进制0x10
八进制0o10
二进制0b10
1Byte=8bit=8位
二进制转十进制
1111
8421
转成十进制:1*8 + 1*4 + 1*2 + 1*1 = 15
1*2**3 + 1*2**2 +1*2**1 + 1*2**0 = 15
十六进制转十进制
0x 11
转成十进制:1*16**1 + 1*16**0 = 17
综合转换
0b 1111 1111
0x F F
0b 1000 1001
0x 8 9
16**1 16**0
8*16**1 + 9*16**0 = 137
- bool类型,有2个值True、False
2.2 浮点数float
1.2、3.1415、-0.12、1.46e9等价于科学计数法1.46*10^9
本质上使用了C语言的double类型
2.3 复数complex
1+2j或1+2J
3,字符串
3.1 字符串的定义
- 使用' '' 单双引号引用的字符的序列
- ''' 和 """ 单双三引号,可以跨行、可以在其中自由的使用单双引号
"""ab
c"""
'ab\nc'
3.2 字符串的r前缀和f前缀
- r前缀: 在字符串前面加上r或者R前缀,表示该字符串不做特殊的处理
- f前缀: python3.6版本开始,新增f前缀,格式化字符串
3.3 字符串拼接
str(1) + ',' + 'b' # 都转换成字符串拼接到一起
"{}-{}".format(1, 'a') # {}就是填的空,有2个,就使用2个值填充
# 在3.6后,可以使用插值
a = 100; b = 'abc'
f'{a}-{b}' # 一定要使用f前缀,在大括号中使用变量名(插值字符串)
a = 100
b = 200
'{} {}{}'.format(a,b,a+b)
'100 200300'
'{}+{}={}'.format(a,b,a+b)
'100+200=300'
4,转义序列
- \\ \t \r \n \' \"
-
\n换行符newline linux
\r return 换行mac
\r\n windows
\t tab 向右偏8个单位或4个单位的长度
- 上面每一个转义字符只代表**一个字符**,例如\t显示时占了4个字符位置,但是它是一个字符
- 前缀r,把里面的所有字符当普通字符对待,则转义字符就不转义了
**转义:**让字符不再是它当前的意义,例如\t,t就不是当前意义字符t了,而是被\转成了tab键,
'a\''
"a'"
'ab\'c'
"ab'c"
5,缩进
- 未使用C等语言的花括号,而是采用缩进的方式表示层次关系
- 约定使用4个空格缩进
6,续行
- 在行尾使用\,注意\之后除了紧跟着换行之外不能有其他字符
- 如果使用各括号,认为括号内是一个整体,其内部跨行不用\
a = "abcd"
"efg"
a
'abcd'
a = "abcd"\ #代码太长,可能会用续航符\
"efg"
a
'abcdefg'
7,标识符
7.1 标识符规则
- 一个名字,用来指代一个值
- 只能是字母、数字和下划线的组合
- 只能以字母和下划线开头
- 不能是python的关键字,例如def、class就不能作为标识符
- python是大小写敏感的
- 全部小写(目前),多个单词使用下划线连接
7.2 标识符约定
- [] 不允许使用中文,也不建议使用拼音
- [] 不要使用歧义单词,比如class_
- [] 在python中不要随便使用下划线开头的标识符
7.3 常量
- 一旦赋值就不能改变值的标识符
- python中无法定义常量
7.4 字面常量
- 一个单独的不可变量,例如12、"abc"、'2341356514.03e-9'
7.5 变量
- 赋值后,可以改变值的标识符
7.6 标识符本质
- 每一个标识符对应一个具有数据结构的值,但是这个值不方便直接访问,程序员就可以通过其对应的标识符来访问数据,标识符就是一个指代。一句话,标识符是给程序员编程使用的。
8,语言类型
pyhton是动态强类型语言。
JS是动态弱类型语言。
8.1 静态语言
- 事先声明变量类型,之后变量的值可以改变,但值的类型不能再改变
- 编译时检查(编译时可以检查类型错误)
8.2 动态语言
- 不用事先声明类型,随时可以赋值为其他类型
- 编程时不知道是什么类型,很难推断
python 在 3.6 版本之后开始陆续支持对于 类型注释 的支持
如:a:int = 5 # 定义一个数字5,但是只是对类型的注释,不做强制类型转换
8.3 强类型语言
- 不同类型之间操作,必须先强制类型转换为同一类型 print('a' + 1)
8.4 弱类型语言
- 不同类型间可以操作,自动隐式转换,JavaScript中console.log('a' + 1),但是要注意的是,强和弱只是一个相对的概念,即使是强类型语言也支持隐式类型转换。
%%js 属于是jupyter 调用js执行语句的命令
%%js # %%js --> 在当前cell中调用js
console.log('a' + 100)
console.log('a' + 1000)
标签:前缀,基础,语法,类型,使用,字符串,标识符,语言
From: https://www.cnblogs.com/wangerrui/p/16994978.html