4 Python基础

一,基础语法

最基本的语法,每种编程语言都会有的,属于编程语言能成为一门语言的基础构成

1.1,行结构

通常情况下,一句语句写作一行,如

print(123)

但有的也是可以写作多行的,如复合语句,像if...else...,就跨越了多行

a = 4 
if a<3:
    print(True)
else:
    print(False)

当然有的熟练的老手也喜欢把它给写成一行

a = 4 
print(True) if a<3 else print(False)

1.2,缩进

(1)缩进的意思就是在每一行代码前留的空白,空白的长度代表代码的逻辑等级,相同的表示平级,越长的代表越低,所以在看一个代码段的时候,就是通过缩进来判断这段代码逻辑

a = 4
if a < 3:
    print(True)
print(789)

如在上述代码中,即通过缩进的长短,即可判断出,print(True)if a < 3:的下一层级

(2)在IDE中写程序,在回车时,一般会帮你自己缩进,一般占4个空格,一般直接按Tab键即可

1.3,注释

简单解释就是,这个是给人看的不是给机器执行的。python里面的注释方法:

  • 单行注释:以#开头
  • 多行注释:每行用一个#开头,或直接用三引号将注释内容包起来
print(1234)
# 单行注释

'''
多行注释
单引号,多引号都可以
'''

1.4,拼接

一般在一条语句太长,从代码的可读性考虑,需要将代码换行时,受限于行规则,所以要进行拼接。分为两种:

  • 显式行拼接:用 \ 来进行换行
a = 1 + 2 + 4
#显式行拼接如下
a = 1 + \
    2 + \
    4
  • 隐式行拼接:只针对圆括号、方括号及花括号里面的内容换行,可直接进行换行
a = ['1' , '2' , '3' , '4' , '5', '6']
#隐式行拼接如下
a = ['1' , '2' , 
     '3' , '4' , '5',
 '6']

1.5,变量

1.5.1,定义及作用

变量,就是可以变化的量,就如同我们人类在说话过程中常用‘这件事’‘这个人’来代替某个具体的事物,但又会随着场景的变化,指代的具体事物又能发生变化,也可以说是在数学里面的x、y等未知数。
变量的作用就是帮助编程语言更好的去描述一个逻辑,或者用来代替某个场景里面的某个具体事物。

1.5.2,内部逻辑

变量是需要先定义再使用的,在计算机层面,这个定义的过程就是在申请内存空间去存放一个变量值,然后将变量值的内存地址绑定给变量名;
之后去使用这个变量的时候,就相当于从这个变量名所绑定的内存地址去找到此处内存里存放的值,再用这个值参与到场景使用中去

1.5.3,组成

(1)变量名:可直接引用的名字,如下代码中的a;也如2,内部逻辑所说的通过它来指向值所在内存地址
(2)等于号:赋值符号,用来将变量的内存地址绑定给变量名
(3)值:对应内存地址存放的数据,如下代码中的4

a = 4

扩展问题
1, 在下面的代码中,b的输出是多少?

a = 4
b = a
print(b)
4

解释:意思相当于是b指向值的内存地址是a指向的地址,也就是4

2,在下面的代码中,a的输出是多少?

a = 4
a = 40
print(a)
40

解释:在定义a =40后,原指向4的关联关系失效,此内存空间释放,重新开辟内存空间,存放40,并建立和a的关联关系

1.5.4,变量名命名规范以及标识符

在python里面对变量名命名需要遵循一定的规范,另外还有很多预先定义好的函数及关键字等,在定义变量名的时候要注意避开这些名字,同样需要避开的还有函数、类、模块等名称的定义,为了方便,我们给这类名称起了个名字叫标识符

标识符:用于变量、函数、类、模块等的名称

命名规范

  • 变量名只能包括字母、数字和下划线;变量名不能以数字开头
  • 变量名不能包括空格,可以使用下划线来分隔多个单词
  • 不能使用 Python 的关键字及内置函数名作变量名,常见的可以去进行百度
  • 变量名要尽量简短及具描述性,尽量做到短小精悍,见名知义
  • Python 中变量名是区分大小写的,例如,Name 和name 是两个不同的变量名
  • 可参考:驼峰命名法,大驼峰MyName,小驼峰myName

1.6,常量

就是不变化的量,如π,在python里面比较弱化,没有单独定义常量的方式,和变量使用方式完全一致

1.7 函数使用方法:

一般一个函数的使用,主要需要注意的就是需要传入的值以及传入后会返回什么

  • 需要传入的值:一般看函数的定义中,括号里面有哪些形参,有必传的,有可以不传有预设值的。在IDE中,将鼠标悬停函数名的上方,或者按住ctrl点击函数名可看到具体定义,一般能看到
  • 传入后会返回什么:就是在传入对应实参后,函数执行,会返回什么,有可能会返回一个类型,有可能或返回一个具体的值,具体看函数定义

1.8 输入和输出

1.8.1 输出:print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

  • 作用:按sep、end、file、flush参数定义格式输出*objects
  • objects:输出的对象,输出多个对象时,需要用 , 分隔,对
    象会被转成字符串再输出
  • sep:输出的对象用什么间隔开来,默认值是一个空格
  • end:输出最后用什么结尾,默认值是换行符 \n
  • file:要写入的文件对象,默认为sys.stdout,指向控制台
  • flush:通常输出是否被缓存决定于 flush ,如果 flush 参数为 True,流会被强制刷新

1.8.2 输入:input([prompt])

  • 中括号表示参数可不传
  • 作用:函数接受一个标准输入数据,返回为 string 类型
name = input("请输入你的姓名:")
print(name, "您好,很高兴认识你!")

终端输入

鸡哥

终端输出

鸡哥,您好,很高兴认识你!

二,标准数据类型(只包括数字、字符串的基础)

2.1,整体理解

可以理解为存储信息的方式,比较容易理解的,‘小明有4个苹果’,如果想存储这句话,可以分解成‘小明有’、‘4’、‘个苹果’三部分,其中‘4’就是数字类型,‘小明有’、‘个苹果’就是字符串类型。
但在程序运算中,往往还涉及到了大量的数据的计算,可能是单纯的大量的数字,可能是单纯的大量的字符串,还可能是它俩的无序或有序的结合等等,为了提升存储效率以及方便计算,所以还出现了其他的数据类型。

2.2,数字(Number)

2.2.1,特点

  • 不可变
  • 不是序列

2.2.2,整数(int)

  • 和数学含义一样,没有小数点的数,如-9999,0,9999等
  • 数字越多需要的内存越大

2.2.3,浮点数(float)

  • 带一个小数点,如1.23
  • 科学计数法,带科学计数标志e或E,如2e3,2E3(代表2*10^3)

2.2.4,布尔型(bool)

  • True和Flase,值是1和0,可以和数字相加

2.2.5,复数(complex)

  • 虚部+实部,和数学中类似,不过虚部用j或J,如2 + 3j
  • j前面的系数不能省略

2.2.6,相关内置函数介绍

(1)type(object)
  • 作用:返回传入对象的类型
a = 4
print(type(a))

输出

<class 'int'>
(2)int([x], base=10)
  • 作用:将传入的base进制的x转换成十进制整数,然后返回;不传返回0
a = int(3.99)
b = int("0b101010", base=2)
print(a, b)

输出

3 42
(3)float([x])
  • 作用:将 x 转换成浮点数并返回,不传入参数,则返回 0.0
a = 123
b = "123"

a1 = float(a)
b1 = float(b)
print(a1,b1)

输出

123.0 123.0
(4)bool([x])
  • 作用:将给定参数转换为布尔类型,True 或 False,没传返False
print(bool(None))
print(bool(1))

输出

False
True
(5)complex([real[, imag]])
  • 作用:创建一个值为 real + imag * j 的复数或者转化一个字符串或数为复数,没传返0j
print(complex(3.2, 1))
print(complex(3.2))

输出

3.2+1j
3.2+0j

2.3,字符串(String)

2.3.1 特点

  • 不可变
  • 是序列

2.3.2 字符串定义

用一对单引号或一对双引号定义

a = '好好好,这么玩是吧'
b = "good good good, this play it is"

2.3.4 相关内置函数:str(object='')

  • 作用:返回 object 的字符串格式,不传返回空字符串
print(str(123456))

输出字符串类型的123456

2.3.5 转义

(1)引号用来定义字符串,那么如何输出引号

# 利用转义字符, \后面的引号会被认定为字符串输出
print("\"\"")

# 利用单引号, 外面的单引号代表定义字符串, 里面的双引号是字符串的内容
print('""')

(2)转义字符
用\转义字符,如\代表反斜杠,\n代表换行,\t代表横向制表符

(3)Raw字符串
直接在字符串前面输入r,表示所有转义都不进行

print(r"www.baidu.com\n")
print('-----')
print("www.baidu.com\n")

输出

www.baidu.com\n
-----
www.baidu.com
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,470评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,393评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,577评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,176评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,189评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,155评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,041评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,903评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,319评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,539评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,703评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,417评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,013评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,664评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,818评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,711评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,601评论 2 353

推荐阅读更多精彩内容