2018-08-21 Day02

2018-08-21  本文已影响0人  Ftr_

01.快捷键:

Ctrl+/ 注释/取消注释(单行注释快捷键)
ctrl+s 保存
ctrl+c 拷贝、复制
ctrl+v 粘贴
ctrl+x 剪切
ctrl+b 编译(编译执行——sublime)
ctrl+r 编译执行(暂不用)
ctrl+a 全选
ctrl+z 撤销
ctrl+shift+z 反撤销
ctrl+f 查找
ctrl+n 新建(文件)
ctrl+shift+n 新建(工程)
按住shift点鼠标,可以选中部分内容

注意:写代码时,在英文状态下,print就是Python中的打印函数,功能是在控制台将括号中的内容输出
print('hello world!')

02.Python基础语法:

1.注释

注释不参与代码的编译和执行。只是对代码进行解释和说明的文字。单行注释就是在注释文字前加#。

1)多行注释:

1.前后三个双引号

"""
这是多行注释1
这是多行注释2
"""

2.前后三个单引号

'''
这是多行注释1
这是多行注释2
'''

3.句前加 #号

 \#  这是多行注释1
 \#  这是多行注释2

2.标识符 (专门用来命名的-变量、函数、类)

1)要求
a.是由字母数字下划线组成(只能少不能多)。
b.数字不能开头的。
c.大小写敏感的(大写和小写不一样,例如:abc和Abc,ABC不一样)。
d.Python3以后,标识符中可以包含非ASCII码(可以包含中文),在实际开发过程中不建议使用汉字。
例如:
l=6576
h=7
y=9
张三=895765 #支持汉字 但不建议使用
张s=32 #支持汉字 但不建议使用
_zss=1997
a'sh=100 #错误 不满足标识符要求
h%9=20 #错误 不满足标识符要求

3.关键字(保留字)

python中保留用来作为特殊语法和拥有特殊功能的一些单词
查找关键词:
import keyword
print(keyword.kwlist)
关键词如下:
"""
['False', 'None', 'True', 'and', 
'as', 'assert', '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']
"""

4.行与缩进

缩进的要求:

a.同一级的代码必须保持同一缩进。(同意使用Tab产生缩进)
b.通过缩进来产生代码块(类似于其他语言中的{})
a.例如:

a=10
b=20

b.例如:

if a>10:
    print('abc')
    print('123')

行的规范

a.声明函数的前后必须有两个换行
b.声明类的前后也需要两个换行
c.多个功能模块间用换行隔开

5.多行显示(一句代码多行显示)

a.在需要换行的地方加入反斜杠'',之后回车换行,换行后缩进不受限制。

a=1997*9*9-193567+928102/\
9583+8888888-99999999/\
563275*676767*6666-\
99999999
print(a)

b.列表、字典、元祖和集合的字面量换行不用加\

[
    120,
    99,
    'lhy',
    1997,
    'cdcd',
    999
]

6.字面量(具体的值)

a.数字字面量:10,12.5,-20,+10.0,2e2,10j
b.布尔值:True,(——真),False(——假)
c.字符串:'97lhy&*^','hello',"123" (单引号或者双引号)
d.列表:[10,20,'python','hello',True]
e.字典:{'a':10,'name':'张三'}

7.Python中的基本数据类型

a.与数字相关的:
int(整型),float(浮点型),complex(复数—— a+bi a,b均为实数)
b.bool(布尔) 只有True和False两个值
c.str(字符串)
d.list(列表)
e.dict(字典)
f.tuple(元祖)
g.set(集合)
h.function(函数)
i.bytes(字节)

03.变量:

声明变量是在内存中开辟空间存储数据。(变量是用来存储数据的)
python是动态语言

1.变量的声明:
格式:变量名=值
说明:
a.类型:Python声明变量的时候不需要确定类型
b.变量名:标识符,不能是关键字;PEP8命名规范(所有的字母都小写,多个单词之间用_隔开)
c.'=':赋值符号,将右边的值赋值给左边的变量
d.值:表达式(有结果的,例如:字面量,运算表达式(10+20),其他的变量)

例如:声明一个变量name,赋值为'白胡子'。使用name的时候,相当于使用'白胡子'

name='白胡子'
print(name)

例如:声明一个变量class_name,保存'python1806'

class_name='python1806' 
print(class_name)

例如:声明一个变量,可以存储不同类型的数据

number='艾斯'
print(number)

注意:
1.Python中每条语句结束可以不用加分号。但是如果一行要写多条语句,就必须加分号

number1=10;number2=100

2.同时声明两个或多个变量,并且赋一样的值

str1=str2=str3='abc'

3.使用print同时打印多个值

print(str1,str2,str3)

2.id函数
id(变量) ———— 查看变量的地址(动态存储数据),python声明变量和给变量赋值的原理:现在内存中开辟空间存数据,然后再将变量名作为数据对应的内存的标签。

a=10
print(id(a))
a=100
print(id(a)) #地址不一样
a=10
b=10
print(id(a),id(b)) #地址一样
b=20
print(id(a),id(b)) #地址不一样

04.数字和布尔:

1.int(整型)

所有的整数都是整型,Python3中的整型只有int,Python2中有int和long

num1=10
num2=-100

内置函数:type() ———获取括号中数据的类型
type(鉴别数据类型)

print(type(num1),type(num2))

2.float(浮点型)

所有带小数点的数,都是浮点型。Python中的浮点型只有float

num3=0.12
num4=999.0
num5=2e2
num6=-3.14
print(type(num3),type(num4),type(num5),type(num6))

3.bool(布尔)

布尔就只有True和False(True 1; False 0)

bool1=True
bool2=False
print(type(bool1),type(bool2))

05.运算符:

1.数学运算符:+,—,,/,//(整除),%(取余),**(幂运算) +,—,,/,%和数学中的加减乘除、取余的功能一样

print(10+20)
print(10+12.9)
print(100-10)
print(2*3.5)
print(5/2)
print(3%2)

a.//(整除)
求商,商只取整数部分

print(5//2)
print(6.3//2)

c.**(幂运算)
x**y--x的y次方

print(2**3)
print(9**0.5)

例题:取出一个4位整数的百位上的数。例如,取出1234中的2,,3512中5

number=1234
print(number%1000//100)
a=3512
print(a%1000//100)

2.比较运算:>,<,==,!=,>=,<=
所有的比较运算的结果都是布尔值

print((10>20),(10<=20))
print(10<20)
print(10==20)

3.逻辑运算符:and(与),or(或),not(非)
逻辑运算符操作的数据是布尔值,返回的结果也是布尔
a.and(与)———和、并且
“两个都是True结果才为True,只要有一个是False结果就是False”

print(True and True) #True
print(True and False) #False
print(False and True) #False
print(False and False) #False

例题:要求学习成绩的几点是3.5以上,并且操评分不低于90

score=4.0
score2=80
print(score>3.5 and score2>=90)

使用情况:要求两个或者多个条件同时满足

b.or(或)—— 或者
“只要有一个是True结果就是True.两个都是False结果才是False”

print(score>3.5 or score2>=90) #True

使用情况:要求两个或者多个条件只要一个条件满足就行

c.not(非)
True变成False,False就变成True
例如:年龄不小于18

age =18
print(not age<18)
print(age >=18)

4.赋值运算符:=(赋值),+=,—=,=,/=,%=,//=,*=
赋值符号的左边必须是变量;运算顺序是,先算赋值符号右边的值,然后再将右边的结果赋给左边。
a.变量=值

a=10
b=10+20
c=a+b   #40
d=a>10
print(a,b,c,d)

b.变量 +=值
这的变量必须是已经声明过的变量

a+=2 #相当于a=a+2
print("a =",a)

b-=10 #相当于b=b-10
print(b)

c*=6#相当于c=c*6
print(c)
# 补充:变量必须先声明,在使用。
num1=10;num2=20

5.运算符的优先级
正负+—>数学运算符>比较运算符>逻辑运算符>赋值运算符
数学运算符中:**>(*,/,%,//)>(+,-)
优先级高的先计算,如果优先级相同就从左往右依次计算。可以通过加括号,改变运算顺序。

print(10*20+30<40/2-100)
# 200+30<20-100
# 230<-80
# False
print(10*20+(30<40)/2-100)
# 10*20+True/2-100
# 200+0.5-100
# 100.5
print((10*(20+30))<(40/2-100))
# (10*50)<(20-100)
# 500<-80
# False
print(2*2**3)
# 2*2的3次方
# 2*8
# 16

06.进制:

计算机中常用的进制有:二进制、八进制、十进制、十六进制

十进制:
1.基数:0,1,2,3,4,5,6,7,8,9
2.进位:逢十进一
十进制数上的每一位:
123=100+20+3=10^ 2*1+10^1*2+10^0*3
3451=10^0+10^1*5+10^2*4+10^3*3

二进制数:
1.基数:0,1 例如:110,10101,10001
2.进位:逢二进一
3.二进制数上的每一位:1011=2^0*1+2^1*1+2^2*0+2^3*1=11(十进制)
数学规定:所有数的0次方都是1

八进制:
1.基数:0,1,2,3,4,5,6,7
2.进位:逢8进1
3.八进制数上的每一位:123=8^0*3+8^1*2+8^2*1=83(十进制)

十六进制:
1.基数:09,af(AF)--a(10)f(15) 例如:1af
2.进位:逢16进1
3.十六进制数上的每一位:123=16^0*3+16^1*2+16^2*1=291

进制间的转换
1.二进制、八进制、十六进制--->十进制
(进制数) ^(位数(从0开始))*每一位上的值的和
123(16)=16^0*3+16^1*2+16^2*1=291
123(8)=8^0*3+8^1*2+8^2*1=83(十进制)

2.八进制、十六进制---->二进制
将一位的八进制转换成3位的二进制。将一位的十六进制转换成4位的二进制
123(8) -> 001 010 011 (2)
10(8) -> 001 000 (2)
123(16) -> 0001 0010 0011 (2)

3.二进制--->八进制、十六进制
将3位的二进制转换成1位的8进制。将4位的2进制转换成1位的16进制
001 010 011(2)---> 123(8)
0001 0010 0011(2)--->123(16)

4.十进制---> 二进制
相除取余法
python对进制的支持
Python支持整数的二进制、八进制、十六进制

5.Python中二进制、八进制、十六进制的表示
二进制:0b

print(0b11)
# bin()将其他数据转换为二进制
print(bin(20))
print(bin(0x20))

八进制:0o

print(0o11)
# oct()将其他数据转换为八进制
print(oct(20))
print(oct(0b11011))

十六进制:0x

print(0xaf)
# hex()将其他数据转换为十六进制
print(hex(20))
print(hex(0b11011))

作业:

1.下列四组数,依次为二进制、八进制和十六进制,符合要求的是(d)
a. 12, 77, 10
b. 12, 80, 10
c. 11, 78, 19
d. 11, 77, 19

2.二进制数加法运算的基本特点是“逢二进一”,即0+0=0,0+1=1,1+0=1,1+1=0并进位。运用这一基本法则和十进制运算的类似规律,得出二进制数加法运算1001+101的结果为(c)
a. 1001
b. 1010
c. 1110
d. 1101

3.八进制754中的数码7对应的位权是(c)
a. 10^2 b. 16^1 c. 8^2 d. 2^2

4.十进制数53转换成二进制数是(b)
a. 100101
b. 110101
c.100100
d.110100

5.(偏难)已知,十进制中的8在X进制中表示为11,即(10)8=(X)11。请问这个X进制具体为(b)进制
a. 6
b. 7
c. 8
d. 9

6.(偏难)二进制的1000001相当十进制的,二进制的100.001可以表示为
A: ① 62 ② 63 ③ 64 ④ 65
B: ① 23+2–3 ② 22+2–2 ③ 23+2–2 ④ 22+2–3

**7. **下面定义变量正确的是(ad)
a. a = b = c = 10
b. a,c = 10
c. in = 20
d. num = 10; t = 20

**8. **n = 6784,以下能够获取到7 的方法有(cd)
a. n / 1000 % 100
b. n % 1000 / 100
c. n // 100 % 10
d. n // 10 % 100 // 10

9.以下表达式 10 / 4 + 23 // 4 * 2 - 30的计算结果是:-17.5

上一篇下一篇

猜你喜欢

热点阅读