Python学习之路--1.0 Python概述及基本数据类型

时间:2021-12-31 11:48:36

Python是一门解释性语言,弱类型语言

python程序的两种编写方式:

1.进入cmd控制台,输入python进入编辑模式,即可直接编写python程序

2.在.朋友文件中编写python代码,通过python命令执行python代码(注意:在python2中的中文编码会有问题,python2使用的ASCII码编码,处理不了中文,我们需要替换为utf-8编码格式: -*- encoding:utf-8-*-)

=  : 执行顺序,把等号右边的值赋值给等号左边的值

变量:变量用于临时记录一个值供后面的程序继续执行

变量的命名规范:

1.python变量由字母数字下滑线组成

2.不能用纯数字,也不能是数字开头

3.不能是python关键字

4.不能太长

5.要有意义

6.区分大小写

7.不要用中文(规范)

8.推荐使用驼峰或者下划线命名(每个单词首字母大写)

变量的数据类型:  在计算机中用 语法: type(查看的变量) 用于查看数据类型

1.int类型(整数):可以进行+,-,*,/,%(计算余数,取模),//(取整),计算机表示的小数位是约等于,会有偏差不会太大

2.str:字符串,在计算机中用 '   "  ''  """ 括起来表示,其中单引号双引号只能表示单行, ''' """" 可以表示多行字符串,(同时也可以做多行注释),字符串可以进行 + 和 * 但是做字符串连接对象也必须是字符串.

3.bool:布尔值,用于判断是真命题或者是假命题,对应True False ,用于判断条件的真假严格区分大小写

4.常量:所有字母都是大写

用户交互:

input: 语法: 变量 = input('提示语')  input收到的内容全是字符串 int(变量):将字符串转整数

print:打印语句

流程语句:

if语法:如果条件判断为真执行代码块1,否则执行代码块2  如果条件为false且没有else语句会直接执行下一语句, if嵌套用法需遵循代码块规则缩进,若没有else且条件不成立则会执行下一语句

if 条件判断:

代码块 1 (条件为真)

else :

代码块2(条件为假)

if elif语法:用于条件逐个判断当条件满足执行(从上到下第一个条件满足)相应代码块,如果无满足条件则执行下一语句,如果都不满足最后执行else的内容(可不写),if可无限嵌套,尽量控制在3-5内

if 条件1:

代码块

elif 条件2:

代码块

else:

代码块

Pycharm:新建项目时选第二项设置自己的解释器 设置字体大小:setting>展开Appearance勾选Override defau….在其中的Size为pycharm工具的字体大小,在setting>Editor>Font>Size为代码区字体大小,Line spacing为上下代码间隔. 注意在Editor>General 勾选Change font size(Zoom) weith…… 勾选后可以用ctrl+鼠标滚轮控制代码区字体大小,pycharm写文件默认编码为utf-8

循环:反反复复执行同一段代码,

  1. while循环

while 条件:

代码块(循环体)

流程:判断条件是否为真.如果真执行代码块.然后再次判断条件是否为真.如果真,继续执行代码块,直到条件变成了假,循环退出.

死循环:永远都停不下来的循环.

例子:

while True:
        print('!@#$%^&&**')

让程序从1数到一百:

count = 1
while count <= 100 :
    print(
count)
    count += 1

求1+2+3+4+5…+100
= ?

s1 = 1
s2 = 0
while s1 <= 100:
    s2 = s1 + s2
    s1 = s1 + 1
    print(s2)   #5050

  1. 停止循环语句:

exit(0):直接退出程序.

break:打断当前本层循环,终止掉循环.

continue:停止当前本次循环,继续下一次循环.

  1. while else:

while 条件 :

当条件成立执行代码块

else:

当条件不成立执行代码块

格式化输出:

%s:用于字符串占位符用于表示此位置是字符串,用法: ‘%s……字符串……’ %(要替换的字符串) 可以接收任何数据类型,也可使用%d占位,但是要求占位必须是数字;注意:在字符串中用到占位符%,且要用字符串表达的%时需要用到%%表示,否则报错.

例子

s1 = input ('请输入名字')
s2 = input ('请输入爱好')
s3 = input ('请输入年龄')
s4 = ("我叫%s我喜欢干%s我今年%s了") % (s1, s2, s3)
print(s4)

运算符:

算数运算:
以下假设变量:a=10 b=20

运算符

描述

实例

+

加,两个对象相加

a + b 输出结果为30

-

减,得到负数或是一个数减去另一个数

a - b 输出结果为-10

*

乘,两个数相乘或是返回一个被重复若干次的字符串

a * b 输出结果为200

/

除,x除以y

b/a 输出结果为2

%

取模,返回除法的余数

b%a 输出结果为0

**

幂,返回x的y次幂

a**b 输出结果为10的20次方,输出结果为10000000000000000000000

//

取整数,返回商的整数部分

9//2 输出结果为4, 9.0/2.0输出结果为4.0

比较运算:
以下假设变量:a=10 b=20

运算符

描述

实例

==

等于,比较对象是否相等

a==b 返回False

!=

不等于,比较两个对象是否不相等,推荐使用此写法

a != b 返回True

<>

不等于,比较两个对象是否不相等

a<>b 返回True,这个运算符类似!=

>

大于,返回x是否大于y

a>b 返回False

<

小于,返回x是否小于y.所有比较运算符返回1表示真,返回0表示假.这分别与特殊变量True,False等价,注意,这些变量名的大写.

a<b 返回True

>=

大于等于,返回x是否大于等于y

a>=b 返回True

<=

小于等于,返回x是否小于等于y

a<b返回True

赋值运算:
以下假设变量:a=10 b=20

a = 10

b = 20

a = a+b与a+=b
效果一致

逻辑运算:

运算符

描述

实例

and

布尔"与",如果x为False,x and y 返回False,否则它返回y的计算值 中文:并且,当左右两端同时为真,运算结果才能是真.

(a and b) 返回True

or

布尔"或",如果x为True,他返回True,否则它返回y的计算值 中文:或者,两边有一个为真即真

(a or b) 返回True

not

布尔"非",如果x为True,返回False,如果x为False,它返回True 中文:非真即假,非假即真

not (a and b)返回False

运算顺序:
()=>not=>and=>or

x or y :如果x为0则返回y否则返回x   and用法和or相反 True表示1 False表示0

例子:

print(1 or 2 or 0 or 3 or 5) #返回1
print(0 or 1 and 2) #返回2
print(0 and 3 or 5 and 4 > 6)#返回结果为False
print(1 or 1>2 and 3 or 5 and 4>6)#返回结果为1

编码:

1.ASCII:最前一位是0 最多可以表示256个符号最早的编码,有英文+数字+特殊字符

8bit=>1byte,没有中文.后面的编码必须兼容ASCII码(计算机底层为ASCII码)

2.GBK(ANSI):把中国的文字进行编码,对ASCII扩充16bit =>2byte 主要包含了中文,日文,韩文,英文(兼容ASCII,在ASCII码前八位为0)

3.UNICODE:32bit=>4byte 早期太费内存,但是兼容各国家编码,万国码.

4.UTF-8:可变长度的UNICODE,本质是UNICODE,英文在utf=8占用1个字节(8bit),欧洲文字占用2个字节(16bit),中文占用3个字节(24bit),在最节约空间的情况下兼容各国文字. UTF-8中8表示最小的占用为8bit(一字节),并非第八代.

5,单位换算:

8bit(8个二进制位) => 1byte(1字节)

1024byte=>1kb

1024kb=>1mb

1024mb=>1gb

1024gb=>1tb

in  not in:

in:判断xxx是否出现在xxx中

例子:

content = input("请输入评论信息:")
if '金三胖' in content:
    print("对不起,你的评论包含敏感词汇")
else:
    print("ok") #输入中包含"金三胖"会执行第一个代码块,否则执行else下的代码块

python常见的基本数据类型:

  1. int:整数
  2. bool:布尔用于条件判断用于if while
  3. str:字符串,一般放小量数据
  4. list:列表,可以存放大量数据
  5. dict:字典,以key:value的形式储存数据
  6. set:集合(数学)没有顺序
  7. tuple:元祖,不可变

整数常用方法:

1.bit_lenght():一个数的二进制长度

例子:

a = 4 #10进制
print(a.bit_length()) #输出结果为3  4二进制为100故3

布尔值常用方法:

无操作方法

类型转换:

int(需要转换的字符串):str转int

例子

#把字符串转int
a = "10" #字符串
b = int(a)#将字符串转int
print(type(b)) #输出结果为<class 'int'>

str(需要转换的整数):int转str

例子:

#把int转化为str
a = 10
b = str(a)
print(type
(b)) #输出结果为
<class 'str'>

结论1:想转化为xxx数据类型就,写法:你需要转换的数据类型(要转换的目标)

例子:

a = 10
b = bool(a)
print(type
(b)) #输出结果为
<class 'bool'>

a = True
b = str(a)
print(type(b))#输出结果为<class
'str'>

结论2:在bool中False => 0  True =>1

结论3:通过bool与数字相互转换得出结论:在int类型中只有0表示为False其余表达为True

结论4:可以当做False来用的数据:0 ,“”,[],(),{},None所有的空的东西都是False

例子:

while 1 : # 1和True的效率:1的效率比True效率高一点
    print("还我钱") #当前语句会被打印

2019-03-28 22:15:06