Day2-Python-Python基础语法学习-2018/7/17


1.常用快捷方式:

control + / ----单行注释

control + s ----保存(没事就按)

control + b ----编译(编译执行,其他语言中C+R是编译还需要执行,在python中直接执行,没编译)

control + n ----新建文件

control + c ----复制

control + v ----粘贴

control + a ----全选

control + x ----剪切

control + z ----撤销

control + y / contol + shift + z ----反撤销

按住control不放,让鼠标可以同时在多个位置设置光标

shift + 左键

control + f ----弹出搜索框

控制台的东西,只有程序员能看见,用作调试。



2.print函数是python内置函数,作用是在控制台打印print后面()里面的任何内容。

()里面的单引号,是字符串的标志(标志hello world是字符串),而不是内容。

在python2.x中是 print 'hello world'

在python3.x中是 print 后面需要括号('hello world')

A.B.C版本号 A --> 重大修改(不向下兼容) B --> 添加新的功能 C --> 修复bug

print('hello world~')
print('你好')   


1.注释

注释就是代码源文件中,用来进行注解说明的文字,不会对代码的功能产生任何影响.

注意:好的代码和好的程序员,需要对代码通过注释进行说明

# 我是单行注释

"""这是多行注释(三个双引号,常用)"""

'''’这是多行注释(三个单引号)'''

补充: 编程语言中涉及到的所有的符号,都是指的英文输入法状态下的符号

2. 标识符

标识符是用来程序中命名用的。(比如:变量名丶类名丶函数名)

a.标识符是由字母丶数字和下划线组成,并且数字不能开头(硬性) --- python3.x中,标识符里面可以有中文(但是不推荐使用)(例如1hu=100,错)

b.不能是关键字(有特殊的功能)(保留字,硬性)(例如in=100,错)

c.大小写敏感(区分大小写,aaa和Aaa、AAA、AAa是不一样的)

d.要见名知意(规范,看到名字知道意思)

e.不推荐使用python中的内置函数、类名去作为标识符(规范)

3.关键字

系统保留的有特殊功能或者特殊意义的一些单词。这些单词不能用来给变量\函数\类等命名的。

关键字:
'False', 'None', 'True', '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'

获取关键字

import keyword
print(keyword.kwlist)

4.行与缩进

缩进:每一行代码的位置与行开头的位置之间的空格。
在python中,缩进的写法有严格的规范。
同一级的代码,必须写在同一个缩进下面。
如果在不该有空格产生的位置产生了多余的空格,程序会报错(IndentationError);如果在需要缩进的时候没有缩进也会报错
关于行的规范:
函数和类的声明的前后必须要有两个换行。一般一个功能实现完,实现下一个功能的时候,最好也换行。

print('a')

5.多行语句

一条语句在多行显示。

a.在需要换行的地方加反斜杠,然后再换行
b.字典、列表、集合和元组等容器类型数据的字面量,在多行显示的时候可以直接换行。

python中,一条语句结束,可以不写分号;但是如果一行中要写多条语句,那么每条语句之间必须使用分号隔开

a

print('aaaa');  print('bbbb')

print('sssssssssssssssssssssssssssssssssssssssssssssssssaaaaaaaa\
    aaaaaadaaaaaaaaadaaaaaaaaaaaaaaaaaass\
    aaaa')

b

print([1,2,3,4,
    5,6,7,8,
    9,10,11,12])

6.字面量

数据类型对应的具体的值

10,100,-12 --->整数
12.5,3.1415926,-0.13 --->小数
12e2,9e-2 --->科学计数
9+10j --->复数
'hello world','123','abc',"abcd","!78u" --->字符串
True, Flase ---> 布尔值
[1,2,'hu','assd'] --->列表
{'a':1,'b':'123'} --->字典
···

7.python中的基本数据类型

数字(整型(int)、浮点型(float)、布尔(bool)、复数(complex)、字符串(str)、列表(list)、字典(dict)、集合(set)、元组(tuple)、none--->代表没有和空值

整型:int (在python2.x有long)--->值是所有的整数
浮点型:float --->包含所有的小数、科学计数
布尔:bool --->值只有True和Flase
复数:complex --->值包含所有的复数

可以通过type函数查看数据的类型:type(数据)

print(type(12e2))
print(type('abc'))
print(type(True))


什么是变量变量需遵从标识符的规定

在程序中可以通过变量来存储数据(容器)

怎么声明变量

严格来说,python中的变量是不需要声明的,直接通过赋值符号(=)给变量赋值,就是在声明变量。
因为python是动态语言,在声明变量的时候,不需要指定变量的类型。并且,同一个变量可以赋不同类型的值

声明格式:变量名 = 值
变量名:标识符,PEP8的命名方式(所有的字母都小写,多个单词之间用下划线隔开,例如:user_name)

驼峰式命名:第一个单词首字母小写,后边每个单词的首字母都大写(例如:userName)

声明一个变量age,并且赋值为18

age = 18
age = True
print(age)

输出为True

使用变量的时候,就相当于使用变量中存的值

student_age = 18 
print(type(student_age))

输出为int

1.如果重新给一个变量赋值,那么新赋的值会覆盖原来的值

2.同一个变量可以赋不同类型的值

student_age = 18
student_age = 'abc'
print(student_age,type(student_age))

输出为abc&str

print(student_name) # NameError

补充:

一个数据有type(类型)id(数据存储在计算机中的地址)value(值的大小)三个属性

变量存储数据的时候,有两种情况。

第一种情况:存value ---> 数字类型、字符串
第二种情况:存id ---> 字典、列表、集合、元组、类的对象等等
number = 10
print(id(number))

输出为8791506998592,地址



数学运算符、比较运算符、逻辑运算符、赋值运算符、位运算符(针对二进制的每一位)

1.数学运算符(+*/%(求余)**(幂运算)//(整除)

+:求和

注意:求和操作,+两边必须是数字类型

True --> 1 Flase --> 0

print(True+1,10+20.4)
number= 100 + 11
print(number)

2,30.4,111

—:求差

print(100-12)
number = 99 - 66
print(number)

88,33

*:求乘

print(3.12*2)
number = 3 * 9
print(number)

6.24,27

/:求商

print(4/2)
print(5/2)

2,2.5

%:求上个数相除的余数

10/2=5···0

print(3%2)
print(101%10)

1,1

**:幂运算:

x ** y:求x的y次方

浮点数在计算机中存储时,有时候会有一定的误差

number = 2.1 ** 3
print(number)

9.261000000000001

//:整除

求商但只取整数部分

print(5//2)

2

取一个二位整数的十位数(78)

print(78//10)

7

取2345中的4:

print(2345%100//10)
print(2345//10%10)

2.比较运算符

>、<、==、>=、<=、!=

比较运算符的结果全是布尔: True、Flase

1.>大于

x>y:判断x是否大于y,如果是结果是True,否则是False

result = 10 > 20
print(result)
print(10>20,100>20)

False,False,True

2.<小于

print(10<20)

True

3.==等于

x == y:如果x和y相等,结果就是True,否则是False

number = 12.5
number2=12
print(number==number2)

False

4.>=、<=大于等于,小于等于

10 >= 5  # True
10 >= 10 # True

5.!=不等于

x != y:如果x和y不相等,结果是True,否则是False

6.在python中,可以像数学中一样,连续判断

number = 15
result = 10<number<20   # 判断number是否在10到20之间    
print(result)

True

3.逻辑运算符

与(and)、或(or)、非(not)

逻辑运算的运算数据是布尔值,结果也是布尔值
布尔1 and 布尔2:两个都为True,结果才是True,只要有一个是False,结果就是False。 并且
需要两个或者多个条件同时满足,就使用逻辑与(and)

布尔1 or 布尔2:只要有一个是True,结果就是True,两个都是False,结果才是False。 或者
需要两个或者多个条件中满足一个就可以,就是用逻辑或(or)

not 布尔1:如果是True,结果就是False,如果是False,结果就是True。 非,对布尔值取反 需要不满足某个条件的时候才为True

写一个条件,判断一个人的年龄是否满足青年的条件(年龄大于18并且小于28,而且还不能是20岁)

age = 20
print(age>18 and age<28 and age!=20)

False

平均成绩大于90分,或者操评分大于100分,并且英语成绩还不能小于80分

score = 88
score2 = 90
english = 90
print('===:',score>90 or score2>100 and english>80)

False

成绩不低于60分

score = 70
print(score>=60)
print(not score<60)

True

4.赋值运算符

=、+=、-=、=、/=、%=、*=、//=

赋值运算符的作用:将赋值符号右边的表达式的值赋给左边的变量
表达式:有具体结果的语句,例如:10,'abc',10+20,30>10.5等
赋值符号的左边必须是变量

赋值符号,是先算右边的结果,然后再把结果赋给左边的变量

number = 100

number += 10 # 相等于:number = number +10
print(number)


number *= 2  # number = number * 2
print(number)

110,220

5.运算符的优先级

10+20*3-5/2 = 67.5 ---数学运算顺序

优先级从高到低:算术运算符>比较运算符>逻辑运算符>赋值运算符

算术运算符中:先幂运算乘除取余取整,再加减

如果不确定运算顺序,可以通过添加括号来改变运算顺序。有括号就先算括号里面的

result = 10 + 20 > 15 and 7 * 8 < 30 + 60 

True

result = 30 > 15 and 56 < 90

result = True and True

result = True

print(result)

print(10 + 20 * 3 / 2 - 10 % 3)

10 + 30 -1

39

print(10*2**2)

print(10 + 20 * 3 / (2 - 10)%3) 

10 + 20 * 3 /(-8)%3

10 + 60/(-8)%3

10 + (-7.5)%3

10 + 1.5

40, 11.5



数据在计算机中的储存,存的都是二进制数(0101···)

认识十进制、二进制、八进制、十六进制

1.十进制

基数:0.1.2.3.4.5.6.7.8.9
特点:逢10进1
12345 = 5+40+300+2000+10000
= 51 + 410 + 3100 + 21000 + 210000
= 5
(10^0)+ 4(10^1) + 3(10^2) + 2(10^3) + 1(10^4)

2.二进制

基数:0.1
特点:逢2进1 10 ---> 2
101011 = 1(2^0)+1(21)+0*(22)+1(2^3)+0(24)+1*(25)
= 1+2+0+8+0+32
= 43

3.八进制

基数:0.1.2.3.4.5.6.7
特点:逢8进1 12 ---> 10
12 = 2(8^0)+1(8^1) = 2 + 8 = 10
24 = 4(8^0)+2(8^1) = 20

4.十六进制

基数:0-9,a-f(A-F) -- a=10,b=11,c=12,d=13,e=14,f=15
特点:逢16进1 a ---> 10
2f = 2(16^1)+15(16^0)=32+15=47

进制间的转换:

十进制转换成其他进制:整除取余
八进制转二进制:一位八进制转换成三位二进制 ---> 23 = 010 011
十六进制转二进制:一位十六进制转换成四位二进制 ---> 2f = 0010 1111

2.python中的二进制、八进制、十六进制

## 默认的数字都是10进制
169 # 10进制数

a.二进制

基数是0、1,并且数字前加前缀0b表示二进制

0b1011

如果输入 0b1234 就会报错 SyntaxError

bin(整数) ->将其他进制的整数转换成二进制数

print(bin(10))
print(bin(0x10))

0b1010,0b10000

b.八进制

基数是0-7,并且数字前加0o或者0O表示八进制

0o176
0O123

oct(整数) ->将其他进制的整数转换成八进制

print(oct(10))

0o12

c.十六进制

基数是0-9,a到f(A-F),并且数字前加0x或者0X表示十六进制

0x1a
0X1a
print(0xff)
print(hex(10))

print(bin(9))
print(bin(53))

255,0xa,0b1001,0b110101

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