python学习总结

一、python35安装及环境变量配置

1、python安装包下载地址:
   https://www.python.org/downloads/
2、安装:
   安装路径:C:\Python35
3、环境变量配置:
   【计算机右击】——》【属性】——》【高级系统设置】——》【高级】——》【环境变量】——》【双击变量名为path一行】——》【Python安装目录追加到变量值中,用 ; 分割】如;C:\Python35;C:\Python35\Scripts;

 4、验证python是否安装成功:

  

二、python入门

  什么是编程语言?
       定义好一套与计算机交互的语法规则,这套规则 就可称为一门编程语言,学习编辑语言就是学习语法规则 

1、执行py程序方式为

  交互模式:(缺点:程序不能永久保存,主要用于简单的语法 测试相关)

 

    

  文件执行,如运行如下目录的代码——》F:\python_code\hello.py

    

注:推荐pycharm开发工具IDE:(集成开发环境(IDE))

 2、变量

  1)声明变量:

    

     上述代码声明了一个变量,变量名为: name,变量name的值为:"tang"

  2)变量的意义及作用:为了存储程序运算过路 中的一些中间结果,为了方便日后调用 、修改等操作

  3)变量命名规则:

    1、以小写字母或下划线开,可字母数字下划线组合;

    2、不能以数字开头,不能包含特殊字符和空格;

    3、不能以保留字命名

    4、不以中文命名(建议)

    5、定义的变量应该有意义(见名知义)

    6、驼峰式命名或下划线分割单词

    7、变量名区分大小写

3、字符编码  (python3默认支持编码:unicode)

  1)ASCII编码:将ASCII字符集转换为计算机可以接受的数字系统的数的规则,每个字符统一都需要8个bit来存储;  

  2)GB2312:支持中文的第一张表就叫GB2312(1980年)

  3)GBK1.0:GBK编码扩展了GB2312,完全兼容GB2312编码

  5) GB18030:全称:国家标准GB 18030-2005《信息技术 中文编码字符集》,是中华人民共和国现时最新的内码字集,是GB 18030-2000《信息技术 信息交换用汉字编码字符集 基本集的扩充》的修订版。与GB 2312-1980完全兼容,与GBK基本兼容,支持GB 13000Unicode的全部统一汉字

  6) Unicode:也叫(统一码万国码单一码标准万国码),支持所有国家和地区的编码,是向下兼容gb2312 , gbk

  7) UTF-8:它是Unicode的扩展集,可变长的字符编码,英文占一个1个字节 ,中文占3个字节

    ASCII--->GB2312--->GBK1.0-->GB18030

    ASCII-->Unicode-->UTF-8

4、注释

1)单行注释:# 被注释的内容

# 将用户输入的内容赋值给 name 变量
name = input("请输入用户名:")

2)多行注释:三个单引号或三个双引号,''' 被注释的内容'' 、 """被注释的内容""

'''
这是一个多行注释
'''
#或者
这是一个多行注释
"""

3)多行打印,三个单引号或三个双引号也可做为多行打印

#多印号用于一段话
msg = ''' name = 'tang' age = 24 ''' #或者 msg = """name = 'tang' age = 24 """
print (msg)

 

5、输入(input)

  input:接受的所有数据都是字符串,即便你输入的是数字,但是依然会被当成字符串来处理

name = input("请输入你的名字:")  #input用于用户键盘输入
请输入你的名字:tang
print (name) #打印输入的内容

#输出结果
tang

age = int(input("请输入你的年龄:"))    #把字符串转成int  int(被转的数据)

 6、输出(print)

print:默认换行输出 

# print(a) 等价于print(a,end="\n")  ,即默认不换行
a = "hello"
b = "python"
print (a)  #等价于 print (a,end='\n')
print (b)  #等价于 print (b,end='\n')

#输出结果
hello
python

——————————
#加上end=" "空格不换行
a = "hello"
b = "python"
print (a,end=" ") #以空格不换行
print (b,end= " ")

#输出结果
 hello python

——————
#end="##",##不换行
a = "hello"
b = "python"
print (a,end="##")
print (b,end= "##")

#输出结果
hello##python##

  

6、流程控制(if、if....else、if....elif....else)、与缩进

#单分支语法结构
if 条件:
    满足条件后执行的代码
# 双分支语法结构
if 条件:
    满足条件执行代码
else:
    if条件不满足就走这段
# 单分支
age = 25
if age >23:
    print ("time to find a bf..")
print( "--------hahaha")

#输出结果:
time to find a bf..
--------hahaha
# 双分支

user_name = "tangqh"
user_password = "abc123"

username_input = input("请输入你的用户名:")
password_input = input("请输入你的密码")
if username_input == user_name and password_input == user_password:
    print ("登录成功")     #代码块需要缩进(4个空格,eclipes、与pycharm可以直接按Tab键,可设置)
else:
    print ("用户名或密码)
#多分支语法结构:
if 条件:
    满足条件执行代码
elif 条件:
    上面的条件不满足就走这个
elif 条件:
    上面的条件不满足就走这个
else:
    上面所有的条件不满足就走这段
#猜年龄(多分支)
age = 26
user_guess = int(input("your guess:"))
if user_guess == age :
    print ("恭喜你答对了,耶")
elif user_guess > age:
    print("猜大咯...")
else :
    print("猜小咯...")
# 再来个匹配成绩的小程序吧,成绩有ABCDE 五个等级,与分数的对应关系如下
# A   90-100
# B   80-89
# C   60-79
# D   40-59
# E   0-39

score = int(input("请输入你的成绩:"))
if score > 100:
    print("最高分只能到100")
elif score >= 90:
    print("A")
elif score >= 80:
    print("B")
elif score >= 60:
    print("C")
elif score >= 40:
    print("D")
else:
    print("E")

 

7、python数据类型:基本类型、数据集

基本的数据类型:数字(整数、长整型、浮点型)、字符串(文本、字节)、布尔(True/False)    

数据集:列表、元组、字典(有序字典、无序字典)、集合(有序集合、无序集合)

1)数字:

整数

   int(整型)

  long(长整型)  (注:在py3中已经不区分整型和长整型,统一叫整型)

float(浮点型):浮点数,约等于小数

2)布尔值:就两个值,一个True(真或1),一个False(假或0),主要用于逻辑判断

a = 3
b = 5
print (a > b)    #不成立就是False,即假 
print (a < b)     # 成立就是True,即真

#输出结果:
False
True

 

3)列表(list)

4)字符串(string):加了引号的字符都被认为字符串,可以拼接  

name = "tang"
age = 25
print (name + age)

#输出结果
tang25
#格式化输出
name = input("name:")
age = input("age:")
job = input("job:")
hometown = input("hometown:")
info = """
------------info of %s----------
name:       %s
age:        %d
job:        %s
hometown:   %s
---------------end--------------
"""%(name,name,int(age),job,hometown)
# s = string
# d = digit
# f = float
print(info)


#输出结果
------------info of tang----------
name:       tang
age:        25
job:        IT
hometown:   湖南
---------------end--------------

 

5)元组(tuple)

6)字典(dict) 

注:对于列表、字符串、元组、字典的相应操作单独列举

8、运算符:算术运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算

1)算术运算符

以下假设变量: a=10,b=20

运算符描述实例
+ 加 - 两个对象相加 a + b 输出结果 30
- 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -10
* 乘 - 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200
/ 除 - x除以y b / a 输出结果 2.0
% 取模(余) - 返回除法的余数 b % a 输出结果 0
** 幂 - 返回x的y次幂 a**b 为10的20次方, 输出结果 100000000000000000000
// 取整除 - 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0
# 加(+)
a = 10
b = 20
print ("a + b =",a + b)

#输出结果
a + b = 30
# 减(-)
a = 10
b = 20
print ("a - b =",a - b)
#输出结果
a - b = -10
# 乘(*)
a = 10
b = 20
print ("a * b =",a * b)

#输出结果
a * b = 200
# 除(/)
a = 10
b = 20
print ("b / a =",b / a)

#输出结果
b / a = 2.0
# 取余(%)
a = 10
b = 20
print ("b % a =",b % a)

#输出结果 
b % a = 0

# 取余(%)
a = 3
b = 5
print ("b % a =",b % a)

#输出结果
# 幂(**)
a = 3
b = 5
print ("b ** a =",b ** a)

#输出结果
b ** a = 125
# 取整除(//)
a = 10
b = 20
print ("b // a =",b // a)

#输出结果b // a = 2

# 取整除(//)
a = 3
b = 5
print ("b // a =",b // a)

# 取整除(//)
b // a = 1

 2)比较运算符:>, <, >=, <=, ==, !=,<>    

以下假设变量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) 返回 False。
<= 小于等于 - 返回x是否小于等于y。 (a <= b) 返回 true。
# 等于(==)
a = 10
b = 20
print (a == b)

#输出结果
False
# 不等于(!=)
a = 10
b = 20
print (a != b)

#输出结果
True
# 大于(>)
a = 10
b = 20
print (a > b)

#输出结果
False
# 小于(<)
a = 10
b = 20
print (a < b)

#输出结果
True
# 大于等于(>=)
a = 10
b = 20
print (a >= b)

#输出结果
False
# 小于等于(<=)
a = 10
b = 20
print (a <= b)

#输出结果
True

 

3) 赋值运算符:=,+=,-+,*=,/+,%=,**=

以下假设变量a为10,变量b为20:

运算符描述实例
= 简单的赋值运算符 c = a + b 将 a + b 的运算结果赋值为 c
+= 加法赋值运算符 c += a 等效于 c = c + a
-= 减法赋值运算符 c -= a 等效于 c = c - a
*= 乘法赋值运算符 c *= a 等效于 c = c * a
/= 除法赋值运算符 c /= a 等效于 c = c / a
%= 取模赋值运算符 c %= a 等效于 c = c % a
**= 幂赋值运算符 c **= a 等效于 c = c ** a
//= 取整除赋值运算符 c //= a 等效于 c = c // a
# 简单的赋值(=)
a = 10  #把10赋值给变量a
b = 20
c = a + b   #将 a + b 的运算结果赋值为 c
print (c)

#输出结果
30
# 加法赋值运算符(+=)
a = 10  #把10赋值给变量a
c = 2
c += a      #等效于 c = c + a
print (c)

#输出结果
12
# 减法赋值运算符(-=)
a = 10  #把10赋值给变量a
c = 28
c -= a      #等效于 c = c - a
print (c)

#输出结果
18
# 乘法赋值运算符(*=)
a = 10  #把10赋值给变量a
c = 28
c *= a      #等效于 c = c * a
print (c)

#输出结果
280
# 除法赋值运算符(/=)
a = 10  #把10赋值给变量a
c = 28
c /= a      #等效于 c = c / a
print (c)

#输出结果
2.8
# 取模赋值运算符(%=)
a = 3
c = 5
c %= a      #等效于 c = c % a
print (c)

#输出结果
2
# 赋值运算符(**=)
a = 2
c = 3
c **= a      #等效于 c = c ** a
print (c)

#输出结果
9
# 取整除赋值运算符(//=)
a = 2
c = 3
c //= a      #等效于 c = c // a
print (c)

#输出结果
1

4)成员运算符:in、not in

运算符描述实例
in 如果在指定的序列中找到值返回 True,否则返回 False。 x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
not in 如果在指定的序列中没有找到值返回 True,否则返回 False。 x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。
#  in 
name_list = ["tang","guo","xie"]
print ("li" in name_list)   # 判断"li" 是否在name_list列表中,在返回True,不在返回False

# 输出结果
False
#  in (在)
name_list = ["tang","guo","xie"]
print ("guo" in name_list)   # 判断"guo" 是否在name_list列表中,在返回True,不在返回False

# 输出结果
True
#  not in (不在)
name_list = ["tang","guo","xie"]
# 检查"guo"不在 name_list列表中,在False,不在返回True
print ("guo"  not in name_list)    

# 输出结果
False

5)逻辑运算符:not 、and、or

以下假设变量 a 为 10, b为 20:

运算符逻辑表达式描述实例
and x and y

布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。

条件1 and 条件2 ,两个条件成立返回True,否则返回False

(a and b) 返回 20。

5>3 and 6>2 返回True

or x or y

布尔"或" - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。

条件2 or 条件2 ,只要有一个条件成立就返回True,否则返回False

(a or b) 返回 10。

5>3 or 6<8 返回True

not not x

布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。

not 条件1 ,条件结果取反

not(a and b) 返回 False

not 5>3  返回False

# and (并且)
print (5>3 and 6>2)

#输出结果
True
# or (或)
print ( 5>3 or 6<8 )  # 5 > 3 是条件成立

#输出结果
True
# not
print ( not 5>3 )  # 5 > 3 条件成立返回True,not 对条件取反,则返回False

#输出结果
False

 

表达式:由操作数和运算符组成的一句代码和语句

注:and、or、not短路原则

对于and短路原则:如果前面的第一个条件为假,那么这个and前后两个条件组成的表达式的结果就一定为假,第二个条件就不会计算

对于or短路原则:如果前面的第一个特色肉真,那么这个or前面后两个条件组成的表达式的计算结果就一定为假

 

posted @ 2017-12-21 18:31  加油!我是最胖的*^O^*  阅读(389)  评论(1编辑  收藏  举报