Python学习笔记一(基础知识)

Python学习笔记一(基础知识)1.Python 的特点: 1.1. 语法简介,实现同样的功能,代码行数少; 1.2. 作为解释型语言,性能与C/C++有差距,甚至比不上java,发布代码必须发布源码,而C等编译类语言,只需要把编译后的机器码发布即可; 1.3. 可实现网站或游戏后台,网络爬虫工具等,YouTube、豆瓣、Google、Yahoo等都在使用Python; 1.4. 丰富的基础代码库,覆盖了网络、文件、GUI、数据库、文本等大量内容; 1.5. Python有两个版本,一个是2.x版

大家好,又见面了,我是你们的朋友全栈君。

      本文是小编自己学习Python的学习笔记,本着简介方便的原则,记录Python的主要基础知识点,以便学习和回顾。

1.Python 的特点:

    1.1. 语法简介,实现同样的功能,代码行数少;
    1.2. 作为解释型语言,性能与C/C++有差距,甚至比不上java,发布代码必须发布源码,而C等编译类语言,只需要把编译后的机器码发布即可;
    1.3. 可实现网站或游戏后台,网络爬虫工具等,YouTube、豆瓣、Google、Yahoo等都在使用Python;
    1.4. 丰富的基础代码库,覆盖了网络、文件、GUI、数据库、文本等大量内容;
    1.5. Python有两个版本,一个是2.x版,一个是3.x版,这两个版本是不兼容的,本文实现都是3.X版本。

2.Python语法糖:

       本文代码都在PyCharm中实现,并保证能够正确执行。  Python作为解释型语言,是区分大小写的,并采用
Unicode编码,能够直接处理的数据类型,整型(任意大小),浮点型,字符串(可以使用’或”,转义字符为”\”),布尔值(True/False),空值(none)。Python以缩进的方式区分代码块。           

      2.1 helloworld.py       
# 输出hello, world!
print('hello, world!')

# 以","分割的方式打印
print('abc', 'is a', 'string')

# 计算数学表达式
print('100 + 200 =', 100 + 200)
# 输入变量名称
# name = input('please input name: ')
#
# print(name)

# list list是一个可变的有序表,以中括号包括
classmates = ['Lance', 'Tom', 'python']
print(classmates[-1])
print(classmates)
# 末尾添加元素
classmates.append("java")
print(classmates)
# 指定位置插入元素
classmates.insert(1, 'Jack')
print(classmates)
# 删除指定位置元素
classmates.pop(-1)
print(classmates)
# 末尾删除元素
classmates.pop()
print(classmates)

s = ['python', 'java', ['asp', 'php'], '.net']
print(s)
print(s[2])

# tuple一旦初始化就不能修改
classmates = ('lance', 'Tom', 'hanmeimei')
print(classmates[1])

# if ... else 条件判断
age = 3
if age >= 18:
    print('adult')
elif age >= 6:
    print('teenager')
else:
    print('kid')

print("#for 循环 ")

names = ['python', 'java', ['asp', 'php'], '.net']
for name in names:
    print(name)

print("#Python以缩进的方式区分代码块")
sum = 0
for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
    if x % 2 == 0:
        continue
    if x > 10:
        break
    sum = sum + x
print(sum)

print("#Python以缩进的方式区分代码块")
sum = 0
for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
    sum = sum + x
    print(sum)


print("#dict 类似于java的map,key-value的方式保存数据")
dictdata = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
print(dictdata.get('Michael'))
# 若不存在对应key的value的返回指定的值
print(dictdata.get('AABBCC',-1))

# Set与java中的set类似
set = set([1, 1, 2, 2, 3, 3])
print(set)

     输出结果:   
hello, world!abc is a string100 + 200 = 300python['Lance', 'Tom', 'python']['Lance', 'Tom', 'python', 'java']['Lance', 'Jack', 'Tom', 'python', 'java']['Lance', 'Jack', 'Tom', 'python']['Lance', 'Jack', 'Tom']['python', 'java', ['asp', 'php'], '.net']['asp', 'php']Tomkid#for 循环 pythonjava['asp', 'php'].net#Python以缩进的方式区分代码块25#Python以缩进的方式区分代码块13610152128364555#dict 类似于java的map,key-value的方式保存数据95-1{1, 2, 3}

3. Python内置的函数

      官方给出的文档如下图:

      代码示例:function.py      

print("abs")
print("abs(-20):",abs(-20))
print("abs(-20):",abs(-12.67))

print("int()函数可以把其他数据类型转换为整数")
print("int('123'):",int('123'))
print("int(12.56):",int(12.56))

4. 函数定义:        

def func_abs(x):
    if not isinstance(x, (int, float)):
         # 抛出异常
        raise TypeError('bad operand type')
    if x >= 0:
        return x
    else:
        return -x

print(func_abs(-13))

#Python函数支持返回多个返回值

def func_abs(x,y):
    if not isinstance(x, (int, float)):
        raise TypeError('bad operand type')
    if not isinstance(y, (int, float)):
        raise TypeError('bad operand type')

    if x < 0:
        x = -x

    if y < 0:
            y = -y
    return x,y


print(func_abs(-13,-128))

#空函数
def nop():
    pass  #pass为占位符




print("#默认参数")
# 必选参数在前,默认参数在后
def func_power(x, n=2):
    s = 1
    while n > 0:
        n = n - 1
        s = s * x
    return s


print(func_power(5))
print(func_power(5,3))

print("#可变参数")
#可变参数在函数调用时自动组装为一个tuple
def func_calc(*numbers):
    sum = 0
    for n in numbers:
        sum = sum + n
    return sum

print(func_calc(5,5,5))


print("#关键字参数")
#关键字参数允许你传入0个或任意个含参数名的参数,可以扩展函数的功能
def func_person(name, age, **kw):
    print('name:', name, 'age:', age, 'other:', kw)

func_person('Bob', 35, city='Beijing')
func_person('Adam', 45, gender='M', job='Engineer')

print("#命名关键字参数")
# 限制关键字参数的名字,就可以用命名关键字参数,例如,只接收city和job作为关键字参数

def person(name, age, *, city, job):
    print(name, age, city, job)

# 如果函数定义中已经有了一个可变参数,后面跟着的命名关键字参数就不再需要一个特殊分隔符 * 了:

def person(name, age, *args, city, job):
    print(name, age, args, city, job)



# 在Python中定义函数,可以用必选参数、默认参数、可变参数、关键字参数和命名关键字参数,这5种参数都可以组合使用。但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。

def f1(a, b, c=0, *args, **kw):
    print('a =', a, 'b =', b, 'c =', c, 'args =', args, 'kw =', kw)


print("#递归函数")
def func_fact(n):
    if n==1:
        return 1
    return n * func_fact(n - 1)


print(func_fact(1))
print(func_fact(5))
print(func_fact(100))


   输出结果:
13
(13, 128)
#默认参数
25
125
#可变参数
15
#关键字参数
name: Bob age: 35 other: {'city': 'Beijing'}
name: Adam age: 45 other: {'gender': 'M', 'job': 'Engineer'}
#命名关键字参数
#递归函数
1
120
93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/149564.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • HashMap扩容机制

    HashMap扩容机制想要了解HashMap的扩容机制你要有这两个问题1.什么时候才需要扩容2.HashMap的扩容是什么1.什么时候才需要扩容当HashMap中的元素个数超过数组大小(数组长度)*loadFactor(负载因子)时,就会进行数组扩容,loadFactor的默认值(DEFAULT_LOAD_FACTOR)是0.75,这是一个折中的取值。也就是说,默认情况下,数组大小为16,那么当HashMap中的元素个数超过16×0.75=12(这个值就是阈值或者边界值threshold值)的时候,就把数组的大小扩展

    2022年6月29日
    43
  • docker 权限问题 Got permission denied while trying to connect to the Docker daemon socket at 。。。「建议收藏」

    docker 权限问题 Got permission denied while trying to connect to the Docker daemon socket at 。。。「建议收藏」在用户权限下docker命令需要sudo否则出现以下问题通过将用户添加到docker用户组可以将sudo去掉,命令如下sudogroupadddocker#添加docker用户组sudogpasswd-a$USERdocker#将登陆用户加入到docker用户组中newgrpdocker#更新用户组…

    2022年5月13日
    49
  • 2021.4.14版本激活码_通用破解码[通俗易懂]

    2021.4.14版本激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
    64
  • linux系统网桥管理工具brctl 安装及使用

    linux系统网桥管理工具brctl 安装及使用

    2022年2月12日
    47
  • 背包问题九讲[转载][通俗易懂]

    背包问题九讲[转载][通俗易懂]背包问题九讲P01:01背包问题题目有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。基本思路这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转

    2022年7月12日
    30
  • 安装maven步骤_织梦安装教程

    安装maven步骤_织梦安装教程熟练的配置开发环境是每一个程序员必备的功课,俗话说:工欲善其事,必先利其器。本文须知:安装maven环境之前要先安装javajdk环境(没有安装java环境的可以先去看安装JAVA环境的教程)Maven3.3+requireJDK1.7及以上。第一步:下载maven(本教程安装的是3.8.4)官方下载链接:https://maven.apache.org/download.cgiBinary是可执行版本,已经编译好可以直接使用。Source是源代码版本,需要自己编译成可执..

    2022年8月22日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号